package metrics

import "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/metrics"

Index

Functions

func RecordMetric

func RecordMetric(key string, c *OperationStartTimeCache, err error)

RecordMetric records either an error count metric or a latency metric if there exists a start timestamp entry in the cache. For a successful operation, i.e., err == nil, the corresponding timestamp entry will be removed from cache

func RecordRetroactiveStorageClassMetric

func RecordRetroactiveStorageClassMetric(success bool)

RecordRetroactiveStorageClassMetric increments only retroactive_storageclass_total metric or both retroactive_storageclass_total and retroactive_storageclass_errors_total if success is false.

func RecordVolumeOperationErrorMetric

func RecordVolumeOperationErrorMetric(pluginName, opName string)

RecordVolumeOperationErrorMetric records error count into metric volume_operation_total_errors for provisioning/deletion operations

func Register

func Register(pvLister PVLister, pvcLister PVCLister, pluginMgr *volume.VolumePluginMgr)

Register all metrics for pv controller.

Types

type OperationStartTimeCache

type OperationStartTimeCache struct {
	// contains filtered or unexported fields
}

OperationStartTimeCache concurrent safe cache for operation start timestamps

func NewOperationStartTimeCache

func NewOperationStartTimeCache() OperationStartTimeCache

NewOperationStartTimeCache creates a operation timestamp cache

func (*OperationStartTimeCache) AddIfNotExist

func (c *OperationStartTimeCache) AddIfNotExist(key, pluginName, operationName string)

AddIfNotExist returns directly if there exists an entry with the key. Otherwise, it creates a new operation timestamp using operationName, pluginName, and current timestamp and stores the operation timestamp with the key

func (*OperationStartTimeCache) Delete

func (c *OperationStartTimeCache) Delete(key string)

Delete deletes a value for a key.

func (*OperationStartTimeCache) Has

func (c *OperationStartTimeCache) Has(key string) bool

Has returns a bool value indicates the existence of a key in the cache

type PVCLister

type PVCLister interface {
	List() []interface{}
}

PVCLister used to list persistent volume claims.

type PVLister

type PVLister interface {
	List() []interface{}
}

PVLister used to list persistent volumes.

Source Files

metrics.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
9 packages
Last checked
3 hours ago

Tools for package owners.