metrics_plugin

package
v0.5.18 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetPluginInitializers

func GetPluginInitializers() map[string]InitFunc

GetPluginInitializers returns initialized functions of metrics plugins

func RegisterPluginInitializer

func RegisterPluginInitializer(name string, initFunc InitFunc)

RegisterPluginInitializer is used to register user-defined metrics plugins

Types

type DummyMetricsPlugin

type DummyMetricsPlugin struct {
	NodeMetricsScopes []string
	PodMetricsScopes  []string
}

func (DummyMetricsPlugin) GetSupportedNodeMetricsScope

func (d DummyMetricsPlugin) GetSupportedNodeMetricsScope() []string

func (DummyMetricsPlugin) GetSupportedPodMetricsScope

func (d DummyMetricsPlugin) GetSupportedPodMetricsScope() []string

func (DummyMetricsPlugin) Name

func (d DummyMetricsPlugin) Name() string

func (DummyMetricsPlugin) Run

func (d DummyMetricsPlugin) Run()

type InitFunc

type InitFunc func(ctx context.Context, conf *controller.NPDConfig, extraConf interface{},
	controlCtx *katalystbase.GenericContext, updater MetricsUpdater) (MetricsPlugin, error)

type MetricsGetter

type MetricsGetter interface {
	GetNodeProfileStatusQueue() workqueue.RateLimitingInterface
	GetNodeProfileStatus(name string) *v1alpha1.NodeProfileDescriptorStatus
	DeleteNodeProfileStatus(name string)
}

MetricsGetter is used by npd controller as metrics notifier to trigger update real npd.

type MetricsManager

type MetricsManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewMetricsManager

func NewMetricsManager() *MetricsManager

func (*MetricsManager) DeleteNodeProfileStatus

func (im *MetricsManager) DeleteNodeProfileStatus(name string)

func (*MetricsManager) GetNodeProfileStatus

func (im *MetricsManager) GetNodeProfileStatus(name string) *v1alpha1.NodeProfileDescriptorStatus

func (*MetricsManager) GetNodeProfileStatusQueue

func (im *MetricsManager) GetNodeProfileStatusQueue() workqueue.RateLimitingInterface

func (*MetricsManager) UpdateNodeMetrics

func (im *MetricsManager) UpdateNodeMetrics(name string, scopedNodeMetrics []v1alpha1.ScopedNodeMetrics)

func (*MetricsManager) UpdatePodMetrics

func (im *MetricsManager) UpdatePodMetrics(nodeName string, scopedPodMetrics []v1alpha1.ScopedPodMetrics)

type MetricsPlugin

type MetricsPlugin interface {
	Run()
	Name() string

	GetSupportedNodeMetricsScope() []string
	GetSupportedPodMetricsScope() []string
}

type MetricsUpdater

type MetricsUpdater interface {
	UpdateNodeMetrics(name string, scopedNodeMetrics []v1alpha1.ScopedNodeMetrics)
	UpdatePodMetrics(nodeName string, scopedPodMetrics []v1alpha1.ScopedPodMetrics)
}

MetricsUpdater is used by MetricsPlugin as a unified implementation to trigger metrics updating logic.

Jump to

Keyboard shortcuts

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