# Functions

NewCSIMetricsManagerForPlugin creates and registers metrics for CSI drivers and returns an object that can be used to trigger the metrics.
NewCSIMetricsManagerForSidecar creates and registers metrics for CSI Sidecars and returns an object that can be used to trigger the metrics.
NewCSIMetricsManagerWithOptions is a customizable constructor, to be used only if there are special needs like changing the default subsystems.
VerifyMetricsMatch is a helper function that verifies that the expected and actual metrics are identical excluding metricToIgnore.
WithCustomRegistry allow user to use custom pre-created registry instead of a new created one.
WithLabelNames defines labels for each sample that get added to the default labels (driver, method call, and gRPC result).
WithLabels defines some label name and value pairs that are added to all samples.
WithMigration adds the migrated field to the current metrics label.
WithProcessStartTime controlls whether process_start_time_seconds is registered in the registry of the metrics manager.
WithStabilityLevel overrides the default stability level.
WithSubsystem overrides the default subsystem name.

# Constants

LabelMigrated is the Label that indicate whether this is a CSI migration operation.
SubsystemPlugin is what CSI driver's should use as subsystem name.
SubsystemSidecar is the default subsystem name in a metrics (= the prefix in the final metrics name).

# Variables

NewCSIMetricsManager is provided for backwards-compatibility.

# Interfaces

CSIMetricsManager exposes functions for recording metrics for CSI operations.
Server represents any type that could serve HTTP requests for the metrics endpoint.

# Type aliases

MetricsManagerOption is used to pass optional configuration to a new metrics manager.