Documentation
¶
Overview ¶
Package module is the scaffolding for a system-probe module and the loader used upon start
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotEnabled = errors.New("module is not enabled")
ErrNotEnabled is a special error type that should be returned by a Factory when the associated Module is not enabled.
Functions ¶
func GetStats ¶
func GetStats() map[string]interface{}
GetStats returns the stats from all modules, namespaced by their names
func NameFromGRPCServiceName ¶
NameFromGRPCServiceName extracts a system-probe module name from the gRPC service name. It expects a form of `datadog.agent.systemprobe.<module_name>.ServiceName`.
func Register ¶
func Register(cfg *sysconfigtypes.Config, httpMux *mux.Router, grpcServer *grpc.Server, factories []Factory) error
Register a set of modules, which involves: * Initialization using the provided Factory; * Registering the HTTP endpoints of each module; * Register the gRPC server;
func RestartModule ¶
RestartModule triggers a module restart
Types ¶
type Factory ¶
type Factory struct {
Name sysconfigtypes.ModuleName
ConfigNamespaces []string
Fn func(cfg *sysconfigtypes.Config) (Module, error)
NeedsEBPF func() bool
}
Factory encapsulates the initialization of a Module
type Module ¶
type Module interface {
GetStats() map[string]interface{}
Register(*Router) error
RegisterGRPC(grpc.ServiceRegistrar) error
Close()
}
Module defines the common API implemented by every System Probe Module
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router provides a wrapper around mux.Router so routes can be re-registered This is needed to support the module-restart feature
func (*Router) HandleFunc ¶
func (r *Router) HandleFunc(path string, responseWriter func(http.ResponseWriter, *http.Request)) *mux.Route
HandleFunc registers a HandleFunc in such a way that routes can be registered multiple times