Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MetricsManager ¶
type MetricsManager interface { // StartMetricsEndpoint starts the metrics endpoint at the specified addr/pattern for // metrics managed by this MetricsManager. It spawns a goroutine to listen to // and serve HTTP requests received on addr/pattern. // If the "pattern" is empty (i.e., ""), no endpoint will be started. // An error will be returned if there is any. StartMetricsEndpoint(pattern, addr string, logger promhttp.Logger, wg *sync.WaitGroup) (*http.Server, error) // OperationStart takes in an operation and caches its start time. // if the operation already exists, it's an no-op. OperationStart(op Operation) // DropOperation removes an operation from cache. // if the operation does not exist, it's an no-op. DropOperation(op Operation) // RecordMetrics records a metric point. Note that it will be an no-op if an // operation has NOT been marked "Started" previously via invoking "OperationStart". // Invoking of RecordMetrics effectively removes the cached entry. // op - the operation which the metric is associated with. // status - the operation status, if not specified, i.e., status == nil, an // "Unknown" status of the passed-in operation is assumed. RecordMetrics(op Operation, status OperationStatus) }
func NewMetricsManager ¶
func NewMetricsManager() MetricsManager
type Operation ¶
type Operation struct { // the name of the operation, for example: "CreateSnapshot", "DeleteSnapshot" Name string // the name of the driver which executes the operation Driver string // the resource UID to which the operation has been executed against ResourceID types.UID }
Operation is a structure which holds information to identify a snapshot related operation
type OperationStatus ¶
type OperationStatus interface {
String() string
}
OperationStatus is the interface type for representing an operation's execution status, with the nil value representing an "Unknown" status of the operation.
Click to show internal directories.
Click to hide internal directories.