Documentation
¶
Index ¶
Constants ¶
View Source
const ( // EndpointFieldName is the command-line flag for metrics endpoint path. EndpointFieldName = "server.http.routes.metrics" // EndpointDefault is the default path for Prometheus metrics. EndpointDefault = "/metrics" )
Variables ¶
View Source
var Component = &component.Component{ Dependencies: component.Components{ chi.Component, }, Init: component.StepFunc(func(container container.Container) error { return container.Provide(NewConfig) }), BindFlags: component.BindFlags(func(flagSet flag.FlagSet, container container.Container) error { return container.Invoke(func(config *Config) { flagSet.StringVar(&config.Endpoint, EndpointFieldName, EndpointDefault, "path for metrics endpoint") }) }), Configuration: component.StepFunc(func(container container.Container) error { return container.Invoke(Configuration) }), Execute: component.StepFunc(func(container container.Container) error { return container.Invoke(func(config *Config, r http.Router, logger logger.Logger) { logger.Infof("[chi.router] add metrics endpoint - '%s'", config.Endpoint) r.Mount(config.Endpoint, promhttp.Handler()) }) }), }
Component adds a Prometheus metrics endpoint to the HTTP router. It depends on chi.Component for the router.
Usage:
compogo.WithComponents(
http.Component,
chi.Component,
metric.Component,
)
Metrics are available at: /metrics (configurable)
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Endpoint string
}
Config holds the metrics endpoint configuration.
func Configuration ¶
func Configuration(config *Config, configurator configurator.Configurator) *Config
Configuration applies configuration values to the Config struct. It reads from the provided configurator and sets defaults if values are not present.
Click to show internal directories.
Click to hide internal directories.