kubernetesk8s.io/kubernetes/pkg/kubelet/server/metrics Index | Files

package metrics

import "k8s.io/kubernetes/pkg/kubelet/server/metrics"

Index

Variables

var (
	// HTTPRequests tracks the number of the http requests received since the server started.
	HTTPRequests = metrics.NewCounterVec(
		&metrics.CounterOpts{
			Subsystem:      kubeletSubsystem,
			Name:           "http_requests_total",
			Help:           "Number of the http requests received since the server started",
			StabilityLevel: metrics.ALPHA,
		},

		[]string{"method", "path", "server_type", "long_running"},
	)
	// HTTPRequestsDuration tracks the duration in seconds to serve http requests.
	HTTPRequestsDuration = metrics.NewHistogramVec(
		&metrics.HistogramOpts{
			Subsystem: kubeletSubsystem,
			Name:      "http_requests_duration_seconds",
			Help:      "Duration in seconds to serve http requests",

			Buckets:        metrics.DefBuckets,
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"method", "path", "server_type", "long_running"},
	)
	// HTTPInflightRequests tracks the number of the inflight http requests.
	HTTPInflightRequests = metrics.NewGaugeVec(
		&metrics.GaugeOpts{
			Subsystem:      kubeletSubsystem,
			Name:           "http_inflight_requests",
			Help:           "Number of the inflight http requests",
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"method", "path", "server_type", "long_running"},
	)
	// VolumeStatCalDuration tracks the duration in seconds to calculate volume stats.
	// this metric is mainly for comparison between fsquota monitoring and `du` for disk usage.
	VolumeStatCalDuration = metrics.NewHistogramVec(
		&metrics.HistogramOpts{
			Subsystem:      kubeletSubsystem,
			Name:           "volume_metric_collection_duration_seconds",
			Help:           "Duration in seconds to calculate volume stats",
			Buckets:        metrics.DefBuckets,
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"metric_source"},
	)
	MetricsProvider = metrics.NewGaugeVec(
		&metrics.GaugeOpts{
			Subsystem:      kubeletSubsystem,
			Name:           "metrics_provider",
			Help:           "Metrics provider used by kubelet to collect container stats. Values can be 'cadvisor' and 'cri'",
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"provider"},
	)
	// WebSocketStreamingRequests counts WebSocket streaming requests received by the kubelet,
	// labeled by subresource.
	WebSocketStreamingRequests = metrics.NewCounterVec(
		&metrics.CounterOpts{
			Subsystem:      kubeletSubsystem,
			Name:           "websocket_streaming_requests_total",
			Help:           "Total number of WebSocket streaming requests (exec/attach/portforward) received by the kubelet.",
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"subresource"},
	)
)

Functions

func CollectVolumeStatCalDuration

func CollectVolumeStatCalDuration(metricSource string, start time.Time)

CollectVolumeStatCalDuration collects the duration in seconds to calculate volume stats.

func IncWebSocketStreamingRequest

func IncWebSocketStreamingRequest(subresource string)

IncWebSocketStreamingRequest increments the count of WebSocket streaming requests received by the kubelet for the given subresource (exec/attach/portforward).

func Register

func Register()

Register all metrics.

func ResetForTest

func ResetForTest()

ResetForTest resets metrics that support reset, for use in unit tests.

func SetMetricsProvider

func SetMetricsProvider(provider MetricsProviderType)

SetMetricsProvider sets the metrics provider.

func SinceInSeconds

func SinceInSeconds(start time.Time) float64

SinceInSeconds gets the time since the specified start in seconds.

Types

type MetricsProviderType

type MetricsProviderType string
const (
	CAdvisorMetricsProvider MetricsProviderType = "cadvisor"
	CRIMetricsProvider      MetricsProviderType = "cri"
)

Source Files

metrics.go

Version
v1.36.0 (latest)
Published
Apr 22, 2026
Platform
linux/amd64
Imports
4 packages
Last checked
54 minutes ago

Tools for package owners.