metrics_prometheus

package
v0.0.0-...-a602bb6 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2025 License: Apache-2.0, BSD-2-Clause-Views, BSD-3-Clause, + 1 more Imports: 8 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMetricsRegistry

func NewMetricsRegistry(config config.PrometheusConfig) *mr.Registry

Types

type Metrics

type Metrics struct {
	RouteRegistration           mr.CounterVec
	RouteUnregistration         mr.CounterVec
	RoutesPruned                mr.Counter
	TotalRoutes                 mr.Gauge
	TimeSinceLastRegistryUpdate mr.Gauge
	RouteLookupTime             mr.Histogram
	GorouterTime                mr.Histogram
	RouteRegistrationLatency    mr.Histogram
	RoutingRequest              mr.CounterVec
	BadRequest                  mr.Counter
	BadGateway                  mr.Counter
	EmptyContentLengthHeader    mr.Counter
	BackendInvalidID            mr.Counter
	BackendInvalidTLSCert       mr.Counter
	BackendTLSHandshakeFailed   mr.Counter
	BackendExhaustedConns       mr.Counter
	WebsocketUpgrades           mr.Counter
	WebsocketFailures           mr.Counter
	Responses                   mr.CounterVec
	RouteServicesResponses      mr.CounterVec
	RoutingResponseLatency      mr.HistogramVec
	FoundFileDescriptors        mr.Gauge
	NATSBufferedMessages        mr.Gauge
	NATSDroppedMessages         mr.Gauge
	HTTPLatency                 mr.HistogramVec
	// contains filtered or unexported fields
}

Metrics represents a prometheus metrics endpoint.

func NewMetrics

func NewMetrics(registry *mr.Registry, perRequestMetricsReporting bool, meterConfig config.MetersConfig) *Metrics

func (*Metrics) CaptureBackendExhaustedConns

func (metrics *Metrics) CaptureBackendExhaustedConns()

func (*Metrics) CaptureBackendInvalidID

func (metrics *Metrics) CaptureBackendInvalidID()

func (*Metrics) CaptureBackendInvalidTLSCert

func (metrics *Metrics) CaptureBackendInvalidTLSCert()

func (*Metrics) CaptureBackendTLSHandshakeFailed

func (metrics *Metrics) CaptureBackendTLSHandshakeFailed()

func (*Metrics) CaptureBadGateway

func (metrics *Metrics) CaptureBadGateway()

func (*Metrics) CaptureBadRequest

func (metrics *Metrics) CaptureBadRequest()

func (*Metrics) CaptureEmptyContentLengthHeader

func (metrics *Metrics) CaptureEmptyContentLengthHeader()

func (*Metrics) CaptureFoundFileDescriptors

func (metrics *Metrics) CaptureFoundFileDescriptors(files int)

func (*Metrics) CaptureGorouterTime

func (metrics *Metrics) CaptureGorouterTime(t float64)

func (*Metrics) CaptureHTTPLatency

func (metrics *Metrics) CaptureHTTPLatency(d time.Duration, sourceID string)

func (*Metrics) CaptureLookupTime

func (metrics *Metrics) CaptureLookupTime(t time.Duration)

func (*Metrics) CaptureNATSBufferedMessages

func (metrics *Metrics) CaptureNATSBufferedMessages(messages int)

func (*Metrics) CaptureNATSDroppedMessages

func (metrics *Metrics) CaptureNATSDroppedMessages(messages int)

func (*Metrics) CaptureRegistryMessage

func (metrics *Metrics) CaptureRegistryMessage(msg metrics.ComponentTagged, action string)

func (*Metrics) CaptureRouteRegistrationLatency

func (metrics *Metrics) CaptureRouteRegistrationLatency(t time.Duration)

func (*Metrics) CaptureRouteServiceResponse

func (metrics *Metrics) CaptureRouteServiceResponse(res *http.Response)

func (*Metrics) CaptureRouteStats

func (metrics *Metrics) CaptureRouteStats(totalRoutes int, msSinceLastUpdate int64)

func (*Metrics) CaptureRoutesPruned

func (metrics *Metrics) CaptureRoutesPruned(routesPruned uint64)

func (*Metrics) CaptureRoutingRequest

func (metrics *Metrics) CaptureRoutingRequest(b *route.Endpoint)

CaptureRoutingRequest used to capture backend round trips

func (*Metrics) CaptureRoutingResponse

func (metrics *Metrics) CaptureRoutingResponse(statusCode int)

func (*Metrics) CaptureRoutingResponseLatency

func (metrics *Metrics) CaptureRoutingResponseLatency(b *route.Endpoint, _ int, _ time.Time, d time.Duration)

CaptureRoutingResponseLatency has extra arguments to match varz reporter

func (*Metrics) CaptureTotalRoutes

func (metrics *Metrics) CaptureTotalRoutes(totalRoutes int)

func (*Metrics) CaptureUnregistryMessage

func (metrics *Metrics) CaptureUnregistryMessage(msg metrics.ComponentTagged)

func (*Metrics) CaptureWebSocketFailure

func (metrics *Metrics) CaptureWebSocketFailure()

func (*Metrics) CaptureWebSocketUpdate

func (metrics *Metrics) CaptureWebSocketUpdate()

func (*Metrics) UnmuzzleRouteRegistrationLatency

func (metrics *Metrics) UnmuzzleRouteRegistrationLatency()

UnmuzzleRouteRegistrationLatency should set a flag which suppresses metric data. That makes sense for Envelope V1 where we send it to collector any time we got new value but is unnecessary for Prometheus where data is buffered and sent to collector on constant frequency base. We still need this method though to fulfil the interface.

Jump to

Keyboard shortcuts

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