package metrics
import "k8s.io/client-go/tools/metrics"
Package metrics provides abstractions for registering which metrics to record.
Index ¶
- Variables
- func Register(opts RegisterOpts)
- type CallsMetric
- type DurationMetric
- type ExpiryMetric
- type LatencyMetric
- type RegisterOpts
- type ResolverLatencyMetric
- type ResultMetric
- type RetryMetric
- type SizeMetric
- type TransportCacheMetric
- type TransportCreateCallsMetric
Variables ¶
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{} // ResolverLatency is the latency metric that DNS resolver will update ResolverLatency ResolverLatencyMetric = noopResolverLatency{} // RequestSize is the request size metric that rest clients will update. RequestSize SizeMetric = noopSize{} // ResponseSize is the response size metric that rest clients will update. ResponseSize SizeMetric = noopSize{} // 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{} // RequestRetry is the retry metric that tracks the number of // retries sent to the server. RequestRetry RetryMetric = noopRetry{} // TransportCacheEntries is the metric that tracks the number of entries in the // internal transport cache. TransportCacheEntries TransportCacheMetric = noopTransportCache{} // TransportCreateCalls is the metric that counts the number of times a new transport // is created TransportCreateCalls TransportCreateCallsMetric = noopTransportCreateCalls{} )
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 ResolverLatency ResolverLatencyMetric RequestSize SizeMetric ResponseSize SizeMetric RateLimiterLatency LatencyMetric RequestResult ResultMetric ExecPluginCalls CallsMetric RequestRetry RetryMetric TransportCacheEntries TransportCacheMetric TransportCreateCalls TransportCreateCallsMetric }
RegisterOpts contains all the metrics to register. Metrics may be nil.
type ResolverLatencyMetric ¶
type ResolverLatencyMetric interface { Observe(ctx context.Context, host string, latency time.Duration) }
type ResultMetric ¶
type ResultMetric interface { Increment(ctx context.Context, code string, method string, host string) }
ResultMetric counts response codes partitioned by method and host.
type RetryMetric ¶
type RetryMetric interface { IncrementRetry(ctx context.Context, code string, method string, host string) }
RetryMetric counts the number of retries sent to the server partitioned by code, method, and host.
type SizeMetric ¶
SizeMetric observes client response size partitioned by verb and host.
type TransportCacheMetric ¶
type TransportCacheMetric interface { Observe(value int) }
TransportCacheMetric shows the number of entries in the internal transport cache
type TransportCreateCallsMetric ¶
type TransportCreateCallsMetric interface { Increment(result string) }
TransportCreateCallsMetric counts the number of times a transport is created partitioned by the result of the cache: hit, miss, uncacheable
Source Files ¶
metrics.go
- Version
- v0.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 8 hours ago –
Tools for package owners.