metric

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2026 License: MIT Imports: 8 Imported by: 0

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.

func NewConfig

func NewConfig() *Config

NewConfig creates a new Config instance with default values.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL