metricobserver

package
v0.0.0-...-e653fdf Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: AGPL-3.0 Imports: 9 Imported by: 4

Documentation

Overview

Package metricobserver provides an implementation of apiserver/observer.ObserverFactory that maintains Prometheus metrics.

Index

Constants

View Source
const (
	MetricLabelFacade    = "facade"
	MetricLabelVersion   = "version"
	MetricLabelMethod    = "method"
	MetricLabelErrorCode = "error_code"
)

MetricLabels used for setting labels for the Counter and Summary vectors.

Variables

MetricLabelNames holds the names for reporting the names of the metric types when calling the observers.

Functions

func NewObserverFactory

func NewObserverFactory(config Config) (observer.ObserverFactory, error)

NewObserverFactory returns a function that, when called, returns a new Observer. NewObserverFactory registers the API request metrics, and each Observer updates those metrics.

Types

type Config

type Config struct {
	// Clock is the clock to use for all time-related operations.
	Clock clock.Clock

	// MetricsCollector defines .
	MetricsCollector MetricsCollector
}

Config contains the configuration for an Observer.

func (Config) Validate

func (cfg Config) Validate() error

Validate validates the observer factory configuration.

type MetricsCollector

type MetricsCollector interface {
	// APIRequestDuration returns a SummaryVec for updating the duration of
	// api request duration.
	APIRequestDuration() SummaryVec
}

MetricsCollector represents a bundle of metrics that is used by the observer factory.

type Observer

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

Observer is an API server request observer that collects Prometheus metrics.

func (*Observer) Join

func (*Observer) Join(req *http.Request, connectionID uint64)

Join is part of the observer.Observer interface.

func (*Observer) Leave

func (*Observer) Leave()

Leave is part of the observer.Observer interface.

func (*Observer) Login

func (*Observer) Login(entity names.Tag, _ names.ModelTag, _ bool, _ string)

Login is part of the observer.Observer interface.

func (*Observer) RPCObserver

func (o *Observer) RPCObserver() rpc.Observer

RPCObserver is part of the observer.Observer interface.

type SummaryVec

type SummaryVec interface {
	// With returns a Summary for a given labels slice
	With(prometheus.Labels) prometheus.Observer
}

SummaryVec is a Collector that bundles a set of Summaries that all share the same description.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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