trigger

package
v0.0.0-...-2dbac4b Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BreachStatusManager = "BreachStatusManager"

	BreachDetectedReason   = "BreachDetected"
	NoBreachDetectedReason = "NoBreachDetected"

	BreachDetectedMessage   = "A breach has been detected"
	NoBreachDetectedMessage = "No breach detected for the current recommendation"
)
View Source
const (
	TRIGGER_HANDLER_K8S = "K8sTriggerHandler"

	RecoQueuedStatusManager = "RecoQueuedStatusManager"
	RecoTaskQueued          = "RecoTaskQueued"
	RecoTaskQueuedMessage   = "Workload Queued for Fresh HPA Recommendation"
)

Variables

This section is empty.

Functions

func HasBreached

func HasBreached(ctx context.Context, start, end time.Time, workloadType string,
	workload types.NamespacedName,
	metricScraper metrics.Scraper,
	cpuRedLine float64,
	metricStep time.Duration) (bool, error)

Types

type Handler

type Handler interface {
	QueueForExecution(workloadName string)
	// contains filtered or unexported methods
}

type K8sTriggerHandler

type K8sTriggerHandler struct {
	// contains filtered or unexported fields
}

func NewK8sTriggerHandler

func NewK8sTriggerHandler(k8sClient client.Client, logger logr.Logger) *K8sTriggerHandler

func (*K8sTriggerHandler) QueueAllForExecution

func (h *K8sTriggerHandler) QueueAllForExecution()

TODO: @neerajb Handle passing error back to the controllers, so that the reconcile can be run again.

func (*K8sTriggerHandler) QueueForExecution

func (h *K8sTriggerHandler) QueueForExecution(recommendation types.NamespacedName)

func (*K8sTriggerHandler) Start

func (h *K8sTriggerHandler) Start()

type Monitor

type Monitor struct {
	// contains filtered or unexported fields
}

func NewMonitor

func NewMonitor(k8sClient client.Client,
	recorder record.EventRecorder,
	namespace string,
	workload types.NamespacedName,
	workloadType string,
	metricScraper metrics.Scraper,
	cpuRedLine float64,
	metricStep time.Duration,
	periodicRequeueFrequency time.Duration,
	breachCheckFrequency time.Duration,
	concurrencyControlSemaphore *semaphore.Weighted,
	handlerFunc func(workload types.NamespacedName),
	logger logr.Logger) *Monitor

func (*Monitor) Start

func (m *Monitor) Start()

func (*Monitor) Stop

func (m *Monitor) Stop()

type MonitorManager

type MonitorManager interface {
	RegisterMonitor(workloadType string, workload types.NamespacedName) *Monitor
	DeregisterMonitor(workload types.NamespacedName)
	Shutdown()
}

type PolicyRecommendationMonitorManager

type PolicyRecommendationMonitorManager struct {
	// contains filtered or unexported fields
}

func NewPolicyRecommendationMonitorManager

func NewPolicyRecommendationMonitorManager(k8sClient client.Client,
	recorder record.EventRecorder,
	metricScraper metrics.Scraper,
	periodicRequeueFrequency time.Duration,
	breachCheckFrequency time.Duration,
	concurrentExecutions int,
	handlerFunc func(workloadName types.NamespacedName),
	stepSec int,
	cpuRedLine float64,
	logger logr.Logger) *PolicyRecommendationMonitorManager

func (*PolicyRecommendationMonitorManager) DeregisterMonitor

func (mf *PolicyRecommendationMonitorManager) DeregisterMonitor(workload types.NamespacedName)

func (*PolicyRecommendationMonitorManager) RegisterMonitor

func (mf *PolicyRecommendationMonitorManager) RegisterMonitor(workloadType string,
	workload types.NamespacedName) *Monitor

func (*PolicyRecommendationMonitorManager) Shutdown

func (mf *PolicyRecommendationMonitorManager) Shutdown()

Jump to

Keyboard shortcuts

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