Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VerifyMetricsMatch ¶
VerifyMetricsMatch is a helper function that verifies that the expected and actual metrics are identical excluding metricToIgnore. This method is only used by tests. Ideally it should be in the _test file, but *_test.go files are compiled into the package only when running go test for that package and this method is used by metrics_test as well as connection_test. If there are more consumers in the future, we can consider moving it to a new, standalone package.
Types ¶
type CSIMetricsManager ¶
type CSIMetricsManager interface { // GetRegistry() returns the metrics.KubeRegistry used by this metrics manager. GetRegistry() metrics.KubeRegistry // RecordMetrics must be called upon CSI Operation completion to record // the operation's metric. // operationName - Name of the CSI operation. // operationErr - Error, if any, that resulted from execution of operation. // operationDuration - time it took for the operation to complete RecordMetrics( operationName string, operationErr error, operationDuration time.Duration) // SetDriverName is called to update the CSI driver name. This should be done // as soon as possible, otherwise metrics recorded by this manager will be // recorded with an "unknown-driver" driver_name. // driverName - Name of the CSI driver against which this operation was executed. SetDriverName(driverName string) // StartMetricsEndpoint starts the metrics endpoint at the specified address/path // for this metrics manager. // If the metricsAddress is an empty string, this will be a no op. StartMetricsEndpoint(metricsAddress, metricsPath string) }
CSIMetricsManager exposes functions for recording metrics for CSI operations.
func NewCSIMetricsManager ¶
func NewCSIMetricsManager(driverName string) CSIMetricsManager
NewCSIMetricsManager creates and registers metrics for for CSI Sidecars and returns an object that can be used to trigger the metrics. driverName - Name of the CSI driver against which this operation was executed.
If unknown, leave empty, and use SetDriverName method to update later.