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{} // ExecPluginCalls is the number of calls made to an exec plugin, partitioned by // exit code and call status. ExecPluginCalls CallsMetric = noopCalls{} )
Functions ¶
func Register ¶
func Register(opts RegisterOpts)
Register registers metrics for the rest client to use. This can only be called once.
Types ¶
type CallsMetric ¶
type CallsMetric interface { // Increment increments a counter per exitCode and callStatus. Increment(exitCode int, callStatus string) }
CallsMetric counts calls that take place for a specific exec plugin.
type DurationMetric ¶
DurationMetric is a measurement of some amount of time.
type ExpiryMetric ¶
ExpiryMetric sets some time of expiry. If nil, assume not relevant.
type LatencyMetric ¶
type LatencyMetric interface {
Observe(ctx context.Context, 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 ExecPluginCalls CallsMetric }
RegisterOpts contains all the metrics to register. Metrics may be nil.
Click to show internal directories.
Click to hide internal directories.