metrics

package
v2.0.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2025 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateLuxMetrics

func CreateLuxMetrics(namespace string) luxmetrics.Metrics

CreateLuxMetrics creates a Lux metrics instance with a prometheus backend

func GetPrometheusRegistry

func GetPrometheusRegistry(metrics luxmetrics.Metrics) (*prometheus.Registry, bool)

GetPrometheusRegistry extracts the prometheus registry from Lux metrics

func MakeAndRegister

func MakeAndRegister(gatherer MultiGatherer, name string) (*prometheus.Registry, error)

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client for requesting metrics from a remote Lux instance

func NewClient

func NewClient(uri string) *Client

NewClient returns a new Metrics API Client

func (*Client) GetMetrics

func (c *Client) GetMetrics(ctx context.Context) (map[string]*dto.MetricFamily, error)

GetMetrics returns the metrics from the connected node. The metrics are returned as a map of metric family name to the metric family.

type LuxMultiGatherer

type LuxMultiGatherer struct {
	// contains filtered or unexported fields
}

LuxMultiGatherer adapts Lux metrics MultiGatherer to prometheus MultiGatherer

func (*LuxMultiGatherer) Deregister

func (l *LuxMultiGatherer) Deregister(name string) bool

Deregister implements MultiGatherer

func (*LuxMultiGatherer) Gather

func (l *LuxMultiGatherer) Gather() ([]*dto.MetricFamily, error)

Gather implements prometheus.Gatherer

func (*LuxMultiGatherer) Register

func (l *LuxMultiGatherer) Register(name string, gatherer prometheus.Gatherer) error

Register implements MultiGatherer

type MultiGatherer

type MultiGatherer interface {
	prometheus.Gatherer

	// Register adds the outputs of [gatherer] to the results of future calls to
	// Gather with the provided [name] added to the metrics.
	Register(name string, gatherer prometheus.Gatherer) error

	// Deregister removes the outputs of a gatherer with [name] from the results
	// of future calls to Gather. Returns true if a gatherer with [name] was
	// found.
	Deregister(name string) bool
}

MultiGatherer extends the Gatherer interface by allowing additional gatherers to be registered.

func NewLabelGatherer

func NewLabelGatherer(labelName string) MultiGatherer

NewLabelGatherer returns a new MultiGatherer that merges metrics by adding a new label.

func NewLuxMetricsMultiGatherer

func NewLuxMetricsMultiGatherer() MultiGatherer

NewLuxMetricsMultiGatherer creates a MultiGatherer using Lux metrics

func NewLuxMultiGatherer

func NewLuxMultiGatherer(gatherer luxmetrics.MultiGatherer) MultiGatherer

NewLuxMultiGatherer creates a new adapter

func NewPrefixGatherer

func NewPrefixGatherer() MultiGatherer

NewPrefixGatherer returns a new MultiGatherer that merges metrics by adding a prefix to their names.

Jump to

Keyboard shortcuts

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