package metrics
import "k8s.io/kubernetes/pkg/kubelet/metrics"
Index ¶
- Constants
- Variables
- func GetGather() metrics.Gatherer
- func Register(collectors ...metrics.StableCollector)
- func SetNodeName(name types.NodeName)
- func SinceInSeconds(start time.Time) float64
Constants ¶
const ( KubeletSubsystem = "kubelet" NodeNameKey = "node_name" NodeLabelKey = "node" PodWorkerDurationKey = "pod_worker_duration_seconds" PodStartDurationKey = "pod_start_duration_seconds" PodStartSLIDurationKey = "pod_start_sli_duration_seconds" CgroupManagerOperationsKey = "cgroup_manager_duration_seconds" PodWorkerStartDurationKey = "pod_worker_start_duration_seconds" PodStatusSyncDurationKey = "pod_status_sync_duration_seconds" PLEGRelistDurationKey = "pleg_relist_duration_seconds" PLEGDiscardEventsKey = "pleg_discard_events" PLEGRelistIntervalKey = "pleg_relist_interval_seconds" PLEGLastSeenKey = "pleg_last_seen_seconds" EvictionsKey = "evictions" EvictionStatsAgeKey = "eviction_stats_age_seconds" PreemptionsKey = "preemptions" VolumeStatsCapacityBytesKey = "volume_stats_capacity_bytes" VolumeStatsAvailableBytesKey = "volume_stats_available_bytes" VolumeStatsUsedBytesKey = "volume_stats_used_bytes" VolumeStatsInodesKey = "volume_stats_inodes" VolumeStatsInodesFreeKey = "volume_stats_inodes_free" VolumeStatsInodesUsedKey = "volume_stats_inodes_used" VolumeStatsHealthStatusAbnormalKey = "volume_stats_health_status_abnormal" RunningPodsKey = "running_pods" RunningContainersKey = "running_containers" // Metrics keys of remote runtime operations RuntimeOperationsKey = "runtime_operations_total" RuntimeOperationsDurationKey = "runtime_operations_duration_seconds" RuntimeOperationsErrorsKey = "runtime_operations_errors_total" // Metrics keys of device plugin operations DevicePluginRegistrationCountKey = "device_plugin_registration_total" DevicePluginAllocationDurationKey = "device_plugin_alloc_duration_seconds" // Metrics keys of pod resources operations PodResourcesEndpointRequestsTotalKey = "pod_resources_endpoint_requests_total" PodResourcesEndpointRequestsListKey = "pod_resources_endpoint_requests_list" PodResourcesEndpointRequestsGetAllocatableKey = "pod_resources_endpoint_requests_get_allocatable" PodResourcesEndpointErrorsListKey = "pod_resources_endpoint_errors_list" PodResourcesEndpointErrorsGetAllocatableKey = "pod_resources_endpoint_errors_get_allocatable" // Metrics keys for RuntimeClass RunPodSandboxDurationKey = "run_podsandbox_duration_seconds" RunPodSandboxErrorsKey = "run_podsandbox_errors_total" // Metrics to keep track of total number of Pods and Containers started StartedPodsTotalKey = "started_pods_total" StartedPodsErrorsTotalKey = "started_pods_errors_total" StartedContainersTotalKey = "started_containers_total" StartedContainersErrorsTotalKey = "started_containers_errors_total" // Metrics to track HostProcess container usage by this kubelet StartedHostProcessContainersTotalKey = "started_host_process_containers_total" StartedHostProcessContainersErrorsTotalKey = "started_host_process_containers_errors_total" // Metrics to track ephemeral container usage by this kubelet ManagedEphemeralContainersKey = "managed_ephemeral_containers" // Metrics to track the CPU manager behavior CPUManagerPinningRequestsTotalKey = "cpu_manager_pinning_requests_total" CPUManagerPinningErrorsTotalKey = "cpu_manager_pinning_errors_total" // Values used in metric labels Container = "container" InitContainer = "init_container" EphemeralContainer = "ephemeral_container" )
This const block defines the metric names for the kubelet metrics.
Variables ¶
var ( NodeName = metrics.NewGaugeVec( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: NodeNameKey, Help: "The node's name. The count is always 1.", StabilityLevel: metrics.ALPHA, }, []string{NodeLabelKey}, ) ContainersPerPodCount = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: "containers_per_pod_count", Help: "The number of containers per pod.", Buckets: metrics.ExponentialBuckets(1, 2, 5), StabilityLevel: metrics.ALPHA, }, ) PodWorkerDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodWorkerDurationKey, Help: "Duration in seconds to sync a single pod. Broken down by operation type: create, update, or sync", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, []string{"operation_type"}, ) PodStartDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodStartDurationKey, Help: "Duration in seconds from kubelet seeing a pod for the first time to the pod starting to run", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, ) PodStartSLIDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodStartSLIDurationKey, Help: "" /* 203 byte string literal not displayed */, Buckets: []float64{0.5, 1, 2, 3, 4, 5, 6, 8, 10, 20, 30, 45, 60, 120, 180, 240, 300, 360, 480, 600, 900, 1200, 1800, 2700, 3600}, StabilityLevel: metrics.ALPHA, }, []string{}, ) CgroupManagerDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: CgroupManagerOperationsKey, Help: "Duration in seconds for cgroup manager operations. Broken down by method.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, []string{"operation_type"}, ) PodWorkerStartDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodWorkerStartDurationKey, Help: "Duration in seconds from kubelet seeing a pod to starting a worker.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, ) PodStatusSyncDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodStatusSyncDurationKey, Help: "" /* 214 byte string literal not displayed */, Buckets: []float64{0.010, 0.050, 0.100, 0.500, 1, 5, 10, 20, 30, 45, 60}, StabilityLevel: metrics.ALPHA, }, ) PLEGRelistDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PLEGRelistDurationKey, Help: "Duration in seconds for relisting pods in PLEG.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, ) PLEGDiscardEvents = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PLEGDiscardEventsKey, Help: "The number of discard events in PLEG.", StabilityLevel: metrics.ALPHA, }, ) PLEGRelistInterval = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PLEGRelistIntervalKey, Help: "Interval in seconds between relisting in PLEG.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, ) PLEGLastSeen = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: PLEGLastSeenKey, Help: "Timestamp in seconds when PLEG was last seen active.", StabilityLevel: metrics.ALPHA, }, ) RuntimeOperations = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: RuntimeOperationsKey, Help: "Cumulative number of runtime operations by operation type.", StabilityLevel: metrics.ALPHA, }, []string{"operation_type"}, ) RuntimeOperationsDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: RuntimeOperationsDurationKey, Help: "Duration in seconds of runtime operations. Broken down by operation type.", Buckets: metrics.ExponentialBuckets(.005, 2.5, 14), StabilityLevel: metrics.ALPHA, }, []string{"operation_type"}, ) RuntimeOperationsErrors = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: RuntimeOperationsErrorsKey, Help: "Cumulative number of runtime operation errors by operation type.", StabilityLevel: metrics.ALPHA, }, []string{"operation_type"}, ) Evictions = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: EvictionsKey, Help: "Cumulative number of pod evictions by eviction signal", StabilityLevel: metrics.ALPHA, }, []string{"eviction_signal"}, ) EvictionStatsAge = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: EvictionStatsAgeKey, Help: "Time between when stats are collected, and when pod is evicted based on those stats by eviction signal", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, []string{"eviction_signal"}, ) Preemptions = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PreemptionsKey, Help: "Cumulative number of pod preemptions by preemption resource", StabilityLevel: metrics.ALPHA, }, []string{"preemption_signal"}, ) DevicePluginRegistrationCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: DevicePluginRegistrationCountKey, Help: "Cumulative number of device plugin registrations. Broken down by resource name.", StabilityLevel: metrics.ALPHA, }, []string{"resource_name"}, ) DevicePluginAllocationDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: DevicePluginAllocationDurationKey, Help: "Duration in seconds to serve a device plugin Allocation request. Broken down by resource name.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, []string{"resource_name"}, ) PodResourcesEndpointRequestsTotalCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PodResourcesEndpointRequestsTotalKey, Help: "Cumulative number of requests to the PodResource endpoint. Broken down by server api version.", StabilityLevel: metrics.ALPHA, }, []string{"server_api_version"}, ) PodResourcesEndpointRequestsListCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PodResourcesEndpointRequestsListKey, Help: "Number of requests to the PodResource List endpoint. Broken down by server api version.", StabilityLevel: metrics.ALPHA, }, []string{"server_api_version"}, ) PodResourcesEndpointRequestsGetAllocatableCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PodResourcesEndpointRequestsGetAllocatableKey, Help: "Number of requests to the PodResource GetAllocatableResources endpoint. Broken down by server api version.", StabilityLevel: metrics.ALPHA, }, []string{"server_api_version"}, ) PodResourcesEndpointErrorsListCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PodResourcesEndpointErrorsListKey, Help: "Number of requests to the PodResource List endpoint which returned error. Broken down by server api version.", StabilityLevel: metrics.ALPHA, }, []string{"server_api_version"}, ) PodResourcesEndpointErrorsGetAllocatableCount = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: PodResourcesEndpointErrorsGetAllocatableKey, Help: "" /* 129 byte string literal not displayed */, StabilityLevel: metrics.ALPHA, }, []string{"server_api_version"}, ) RunPodSandboxDuration = metrics.NewHistogramVec( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: RunPodSandboxDurationKey, Help: "Duration in seconds of the run_podsandbox operations. Broken down by RuntimeClass.Handler.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, []string{"runtime_handler"}, ) RunPodSandboxErrors = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: RunPodSandboxErrorsKey, Help: "Cumulative number of the run_podsandbox operation errors by RuntimeClass.Handler.", StabilityLevel: metrics.ALPHA, }, []string{"runtime_handler"}, ) RunningPodCount = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: RunningPodsKey, Help: "Number of pods that have a running pod sandbox", StabilityLevel: metrics.ALPHA, }, ) RunningContainerCount = metrics.NewGaugeVec( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: RunningContainersKey, Help: "Number of containers currently running", StabilityLevel: metrics.ALPHA, }, []string{"container_state"}, ) StartedPodsTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedPodsTotalKey, Help: "Cumulative number of pods started", StabilityLevel: metrics.ALPHA, }, ) StartedPodsErrorsTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedPodsErrorsTotalKey, Help: "Cumulative number of errors when starting pods", StabilityLevel: metrics.ALPHA, }, ) StartedContainersTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedContainersTotalKey, Help: "Cumulative number of containers started", StabilityLevel: metrics.ALPHA, }, []string{"container_type"}, ) StartedContainersErrorsTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedContainersErrorsTotalKey, Help: "Cumulative number of errors when starting containers", StabilityLevel: metrics.ALPHA, }, []string{"container_type", "code"}, ) StartedHostProcessContainersTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedHostProcessContainersTotalKey, Help: "" /* 170 byte string literal not displayed */, StabilityLevel: metrics.ALPHA, }, []string{"container_type"}, ) StartedHostProcessContainersErrorsTotal = metrics.NewCounterVec( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: StartedHostProcessContainersErrorsTotalKey, Help: "" /* 183 byte string literal not displayed */, StabilityLevel: metrics.ALPHA, }, []string{"container_type", "code"}, ) ManagedEphemeralContainers = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: ManagedEphemeralContainersKey, Help: "" /* 190 byte string literal not displayed */, StabilityLevel: metrics.ALPHA, }, ) GracefulShutdownStartTime = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: "graceful_shutdown_start_time_seconds", Help: "Last graceful shutdown start time since unix epoch in seconds", StabilityLevel: metrics.ALPHA, }, ) GracefulShutdownEndTime = metrics.NewGauge( &metrics.GaugeOpts{ Subsystem: KubeletSubsystem, Name: "graceful_shutdown_end_time_seconds", Help: "Last graceful shutdown start time since unix epoch in seconds", StabilityLevel: metrics.ALPHA, }, ) LifecycleHandlerHTTPFallbacks = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: "lifecycle_handler_http_fallbacks_total", Help: "The number of times lifecycle handlers successfully fell back to http from https.", StabilityLevel: metrics.ALPHA, }, ) CPUManagerPinningRequestsTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: CPUManagerPinningRequestsTotalKey, Help: "The number of cpu core allocations which required pinning.", StabilityLevel: metrics.ALPHA, }, ) CPUManagerPinningErrorsTotal = metrics.NewCounter( &metrics.CounterOpts{ Subsystem: KubeletSubsystem, Name: CPUManagerPinningErrorsTotalKey, Help: "The number of cpu core allocations which required pinning failed.", StabilityLevel: metrics.ALPHA, }, ) )
Functions ¶
func GetGather ¶
GetGather returns the gatherer. It used by test case outside current package.
func Register ¶
func Register(collectors ...metrics.StableCollector)
Register registers all metrics.
func SetNodeName ¶
SetNodeName sets the NodeName Gauge to 1.
func SinceInSeconds ¶
SinceInSeconds gets the time since the specified start in seconds.
Source Files ¶
metrics.go
Directories ¶
Path | Synopsis |
---|---|
pkg/kubelet/metrics/collectors |
- Version
- v1.26.12
- Published
- Dec 19, 2023
- Platform
- js/wasm
- Imports
- 7 packages
- Last checked
- 3 minutes ago –
Tools for package owners.