const pluginNameNotAvailable …
const ForceDetachReasonTimeout …
const ForceDetachReasonOutOfService …
const attachDetachController …
var inUseVolumeMetricDesc …
var totalVolumesMetricDesc …
var ForceDetachMetricCounter …
var registerMetrics …
func Register(pvcLister corelisters.PersistentVolumeClaimLister,
pvLister corelisters.PersistentVolumeLister,
podLister corelisters.PodLister,
asw cache.ActualStateOfWorld,
dsw cache.DesiredStateOfWorld,
pluginMgr *volume.VolumePluginMgr,
csiMigratedPluginManager csimigration.PluginManager,
intreeToCSITranslator csimigration.InTreeToCSITranslator) { … }
type attachDetachStateCollector …
type volumeCount …
func (v volumeCount) add(typeKey, counterKey string) { … }
func newAttachDetachStateCollector(
pvcLister corelisters.PersistentVolumeClaimLister,
podLister corelisters.PodLister,
pvLister corelisters.PersistentVolumeLister,
asw cache.ActualStateOfWorld,
dsw cache.DesiredStateOfWorld,
pluginMgr *volume.VolumePluginMgr,
csiMigratedPluginManager csimigration.PluginManager,
intreeToCSITranslator csimigration.InTreeToCSITranslator) *attachDetachStateCollector { … }
var _ …
func (collector *attachDetachStateCollector) DescribeWithStability(ch chan<- *metrics.Desc) { … }
func (collector *attachDetachStateCollector) CollectWithStability(ch chan<- metrics.Metric) { … }
func (collector *attachDetachStateCollector) getVolumeInUseCount(logger klog.Logger) volumeCount { … }
func (collector *attachDetachStateCollector) getTotalVolumesCount() volumeCount { … }
func RecordForcedDetachMetric(forceDetachReason string) { … }