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 PolicyCallsMetric
- type RegisterOpts
- type ResolverLatencyMetric
- type ResultMetric
- type RetryMetric
- type SizeMetric
- type TransportCAReloadsMetric
- type TransportCacheGCCallsMetric
- type TransportCacheMetric
- type TransportCertRotationGCCallsMetric
- 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{} // ExecPluginPolicyCalls is the number of plugin policy check calls, partitioned // by {"allowed", "denied"} ExecPluginPolicyCalls PolicyCallsMetric = noopPolicy{} // 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{} // TransportCAReloads is the metric that counts the number of times a CA reload is attempted TransportCAReloads TransportCAReloadsMetric = noopTransportCAReloads{} // TransportCertRotationGCCalls counts the number of times a cert rotation goroutine // cancel func is called via GC cleanup TransportCertRotationGCCalls TransportCertRotationGCCallsMetric = noopTransportCertRotationGCCalls{} // TransportCacheGCCalls counts the number of times a GC cleanup attempts // to delete a transport cache entry, partitioned by result: deleted, skipped. TransportCacheGCCalls TransportCacheGCCallsMetric = noopTransportCacheGCCalls{} )
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 PolicyCallsMetric ¶
type PolicyCallsMetric interface {
// Increment increments a counter per status { "allowed", "denied" }
Increment(status string)
}
CallsMetric counts the success or failure of execution for exec plugins.
type RegisterOpts ¶
type RegisterOpts struct {
ClientCertExpiry ExpiryMetric
ClientCertRotationAge DurationMetric
RequestLatency LatencyMetric
ResolverLatency ResolverLatencyMetric
RequestSize SizeMetric
ResponseSize SizeMetric
RateLimiterLatency LatencyMetric
RequestResult ResultMetric
ExecPluginCalls CallsMetric
ExecPluginPolicyCalls PolicyCallsMetric
RequestRetry RetryMetric
TransportCacheEntries TransportCacheMetric
TransportCreateCalls TransportCreateCallsMetric
TransportCAReloads TransportCAReloadsMetric
TransportCertRotationGCCalls TransportCertRotationGCCallsMetric
TransportCacheGCCalls TransportCacheGCCallsMetric
}
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 TransportCAReloadsMetric ¶
type TransportCAReloadsMetric interface {
Increment(result, reason string)
}
TransportCAReloadsMetric counts the number of times a CA reload is attempted, partitioned by the result and reason.
type TransportCacheGCCallsMetric ¶
type TransportCacheGCCallsMetric interface {
Increment(result string)
}
TransportCacheGCCallsMetric counts the number of times a GC cleanup attempts to delete a cache entry, partitioned by the result: deleted, skipped.
type TransportCacheMetric ¶
type TransportCacheMetric interface {
Observe(value int)
}
TransportCacheMetric shows the number of entries in the internal transport cache
type TransportCertRotationGCCallsMetric ¶
type TransportCertRotationGCCallsMetric interface {
Increment()
}
TransportCertRotationGCCallsMetric counts the number of times a cert rotation goroutine cancel func is called via GC cleanup.
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, miss-gc, uncacheable
Source Files ¶
metrics.go
- Version
- v0.36.0-rc.1
- Published
- Apr 15, 2026
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 1 hour ago –
Tools for package owners.