kubernetesk8s.io/kubernetes/pkg/scheduler/metrics Index | Files

package metrics

import "k8s.io/kubernetes/pkg/scheduler/metrics"

Index

Constants

const (
	// SchedulerSubsystem - subsystem name used by scheduler
	SchedulerSubsystem = "scheduler"
	// SchedulingLatencyName - scheduler latency metric name
	SchedulingLatencyName = "scheduling_latencies_summary"

	// OperationLabel - operation label name
	OperationLabel = "operation"
	// Binding - binding operation label value
	Binding = "binding"
	// SchedulingAlgorithm - scheduling algorithm operation label value
	SchedulingAlgorithm = "scheduling_algorithm"
	// E2eScheduling - e2e scheduling operation label value
	E2eScheduling = "e2e_scheduling"
)

Variables

var (
	SchedulingLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Subsystem: SchedulerSubsystem,
			Name:      SchedulingLatencyName,
			Help:      "Scheduling latency in microseconds split by sub-parts of the scheduling operation",

			MaxAge: 5 * time.Hour,
		},
		[]string{OperationLabel},
	)
	SchedulingAlgorithmPredicateEvaluationDuration = prometheus.NewHistogram(
		prometheus.HistogramOpts{
			Subsystem: SchedulerSubsystem,
			Name:      "scheduling_algorithm_predicate_evaluation",
			Help:      "Scheduling algorithm predicate evaluation duration",
			Buckets:   prometheus.ExponentialBuckets(1000, 2, 15),
		},
	)
	SchedulingAlgorithmPriorityEvaluationDuration = prometheus.NewHistogram(
		prometheus.HistogramOpts{
			Subsystem: SchedulerSubsystem,
			Name:      "scheduling_algorithm_priority_evaluation",
			Help:      "Scheduling algorithm priority evaluation duration",
			Buckets:   prometheus.ExponentialBuckets(1000, 2, 15),
		},
	)
	SchedulingAlgorithmPremptionEvaluationDuration = prometheus.NewHistogram(
		prometheus.HistogramOpts{
			Subsystem: SchedulerSubsystem,
			Name:      "scheduling_algorithm_preemption_evaluation",
			Help:      "Scheduling algorithm preemption evaluation duration",
			Buckets:   prometheus.ExponentialBuckets(1000, 2, 15),
		},
	)
	PreemptionVictims = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Subsystem: SchedulerSubsystem,
			Name:      "pod_preemption_victims",
			Help:      "Number of selected preemption victims",
		})
	PreemptionAttempts = prometheus.NewCounter(
		prometheus.CounterOpts{
			Subsystem: SchedulerSubsystem,
			Name:      "total_preemption_attempts",
			Help:      "Total preemption attempts in the cluster till now",
		})
)

All the histogram based metrics have 1ms as size for the smallest bucket.

Functions

func Register

func Register()

Register all metrics.

func Reset

func Reset()

Reset resets metrics

func SinceInMicroseconds

func SinceInMicroseconds(start time.Time) float64

SinceInMicroseconds gets the time since the specified start in microseconds.

Source Files

metrics.go

Version
v1.11.0-beta.1
Published
May 31, 2018
Platform
js/wasm
Imports
3 packages
Last checked
3 minutes ago

Tools for package owners.