metrics

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PredictorSubsystem - subsystem name used by predictor
	PredictorSubsystem = "clusternet_predictor"
)

Variables

View Source
var (
	PredictorAlgorithmLatency = metrics.NewHistogram(
		&metrics.HistogramOpts{
			Subsystem:      PredictorSubsystem,
			Name:           "predictor_algorithm_duration_seconds",
			Help:           "Predictor algorithm latency in seconds",
			Buckets:        metrics.ExponentialBuckets(0.001, 2, 15),
			StabilityLevel: metrics.ALPHA,
		},
	)

	PredictorGoroutines = metrics.NewGaugeVec(
		&metrics.GaugeOpts{
			Subsystem:      PredictorSubsystem,
			Name:           "predictor_goroutines",
			Help:           "Number of running goroutines split by the work they do.",
			StabilityLevel: metrics.ALPHA,
		}, []string{"work"})

	FrameworkExtensionPointDuration = metrics.NewHistogramVec(
		&metrics.HistogramOpts{
			Subsystem: PredictorSubsystem,
			Name:      "framework_extension_point_duration_seconds",
			Help:      "Latency for running all plugins of a specific extension point.",

			Buckets:        metrics.ExponentialBuckets(0.0001, 2, 12),
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"extension_point", "status", "profile"})

	PluginExecutionDuration = metrics.NewHistogramVec(
		&metrics.HistogramOpts{
			Subsystem: PredictorSubsystem,
			Name:      "plugin_execution_duration_seconds",
			Help:      "Duration for running a plugin at a specific extension point.",

			Buckets:        metrics.ExponentialBuckets(0.00001, 1.5, 20),
			StabilityLevel: metrics.ALPHA,
		},
		[]string{"plugin", "extension_point", "status"})
)

All the histogram based metrics have 1ms as size for the smallest bucket.

Functions

func Register

func Register()

Register all metrics.

func RegisterMetrics

func RegisterMetrics(extraMetrics ...metrics.Registerable)

RegisterMetrics registers a list of metrics. This function is exported because it is intended to be used by out-of-tree plugins to register their custom metrics.

func RequirementPredictable

func RequirementPredictable(profile string, duration float64)

RequirementPredictable can record a successful predicting attempt and the duration since `start`.

func RequirementPredictingError

func RequirementPredictingError(profile string, duration float64)

RequirementPredictingError can record a predicting attempt that had an error and the duration since `start`.

func RequirementUnpredictable

func RequirementUnpredictable(profile string, duration float64)

RequirementUnpredictable can record a predicting attempt for an unpredictable requirement and the duration since `start`.

func SinceInSeconds

func SinceInSeconds(start time.Time) float64

SinceInSeconds gets the time since the specified start in seconds.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL