metrics

package
v0.0.0-...-d88c8b5 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2021 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package metrics provides abstractions for registering which metrics to record.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ClientCertExpiry is the expiry time of a client certificate
	ClientCertExpiry ExpiryMetric = noopExpiry{}
	// ClientCertRotationAge is the age of a certificate that has just been rotated.
	ClientCertRotationAge DurationMetric = noopDuration{}
	// RequestLatency is the latency metric that rest clients will update.
	RequestLatency LatencyMetric = noopLatency{}
	// RateLimiterLatency is the client side rate limiter latency metric.
	RateLimiterLatency LatencyMetric = noopLatency{}
	// RequestResult is the result metric that rest clients will update.
	RequestResult ResultMetric = noopResult{}
)

Functions

func Register

func Register(opts RegisterOpts)

Register registers metrics for the rest client to use. This can only be called once.

Types

type DurationMetric

type DurationMetric interface {
	Observe(duration time.Duration)
}

DurationMetric is a measurement of some amount of time.

type ExpiryMetric

type ExpiryMetric interface {
	Set(expiry *time.Time)
}

ExpiryMetric sets some time of expiry. If nil, assume not relevant.

type LatencyMetric

type LatencyMetric interface {
	Observe(verb string, u url.URL, latency time.Duration)
}

LatencyMetric observes client latency partitioned by verb and url.

type RegisterOpts

type RegisterOpts struct {
	ClientCertExpiry      ExpiryMetric
	ClientCertRotationAge DurationMetric
	RequestLatency        LatencyMetric
	RateLimiterLatency    LatencyMetric
	RequestResult         ResultMetric
}

RegisterOpts contains all the metrics to register. Metrics may be nil.

type ResultMetric

type ResultMetric interface {
	Increment(code string, method string, host string)
}

ResultMetric counts response codes partitioned by method and host.

Jump to

Keyboard shortcuts

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