Package evaluate provides functionality for managing evaluating, calling external evaluation logic through shell commands with relevant data piped to them.



This section is empty.


This section is empty.


This section is empty.


type Evaluation

type Evaluation struct {
	TargetReplicas int32 `json:"targetReplicas"`

Evaluation represents a decision on how to scale a resource

type Evaluator

type Evaluator struct {
	Config  *config.Config
	Execute execute.Executer

Evaluator handles triggering the evaluation logic to decide how to scale a resource

func (*Evaluator) GetEvaluation

func (e *Evaluator) GetEvaluation(spec Spec) (*Evaluation, error)

GetEvaluation uses the metrics provided to determine a set of evaluations

type GetEvaluationer

type GetEvaluationer interface {
	GetEvaluation(evaluateSpec Spec) (*Evaluation, error)

GetEvaluationer provides methods for retrieving an evaluation

type Spec

type Spec struct {
	Metrics    []*metric.Metric `json:"metrics"`
	Resource   metav1.Object    `json:"resource"`
	Evaluation *Evaluation      `json:"evaluation,omitempty"`
	RunType    string           `json:"runType"`

Spec defines information fed into an evaluator to produce an evaluation, contains optional 'Evaluation' field for storing the result

Source Files