metrics

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithMetrics

func WithMetrics(ctx context.Context, name string) context.Context

WithMetrics returns a new context with a prometheusCollector.

Types

type Counter

type Counter interface {
	Inc()
	Add(float64)
}

Counter is an interface that allows for incrementing and adding a float64 value.

type MetricCollector

type MetricCollector interface {
	// AddHistogram adds a value to the histogram metric with the given name and labels.
	AddHistogram(ctx context.Context, name string, value float64, labels ...string) error
	// RegisterHistogram registers a histogram metric with the given name and labels.
	RegisterHistogram(ctx context.Context, name string, labels ...string) (Observable, error)
	// RegisterGauge registers a gauge metric with the given name and labels.
	RegisterGauge(ctx context.Context, name string, labels ...string) (Counter, error)
	// RegisterCounter registers a counter metric with the given name and labels.
	RegisterCounter(ctx context.Context, name string, labels ...string) (Counter, error)
	// ObserveHistogram observes a value for the histogram metric with the given name and labels.
	ObserveHistogram(ctx context.Context, name string, value float64, labels ...string) error
	// SetGauge sets a value for the gauge metric with the given name and labels.
	SetGauge(ctx context.Context, name string, value float64, labels ...string) error
	// AddCounter adds a value to the counter metric with the given name and labels.
	AddCounter(ctx context.Context, name string, value float64, labels ...string) error
	// MetricsHandler returns an http.Handler for serving the metrics.
	MetricsHandler() http.Handler
	// MeasureFunctionExecutionTime measures the execution time of a function with the given name.
	MeasureFunctionExecutionTime(ctx context.Context, name string) (func(), error)
	// UnregisterCounter unregisters the counter metric with the given name and labels.
	UnregisterCounter(ctx context.Context, name string, labels ...string) error
	// UnregisterHistogram unregisters the histogram metric with the given name and labels.
	UnregisterHistogram(ctx context.Context, name string, labels ...string) error
	// UnregisterGauge unregisters the gauge metric with the given name and labels.
	UnregisterGauge(ctx context.Context, name string, labels ...string) error
}

MetricCollector is an interface that provides methods for registering and manipulating metrics.

func FromContext

func FromContext(ctx context.Context, name string) MetricCollector

FromContext returns the MetricCollector from the context.

func NewPrometheus

func NewPrometheus(name string) MetricCollector

NewPrometheus creates a new prometheusCollector with empty sync.Maps for histograms, gauges, and counters.

type Observable

type Observable interface {
	Observe(float64)
}

Observable is an interface that allows for observing a float64 value.

Jump to

Keyboard shortcuts

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