Documentation
¶
Index ¶
- func ConvertToRecommendationInfos(src interface{}, target interface{}) ([]byte, []byte, error)
- func ObjectConversion(object interface{}, target interface{}) error
- func RetrievePodTemplate(ctx *RecommendationContext) error
- func RetrievePods(ctx *RecommendationContext) error
- func RetrieveScale(ctx *RecommendationContext) error
- type Filter
- type ObjectIdentity
- type Observe
- type PostPrepare
- type PostRecommend
- type PrePrepare
- type PreRecommend
- type Prepare
- type Recommend
- type RecommendationContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ObjectConversion ¶
func ObjectConversion(object interface{}, target interface{}) error
func RetrievePodTemplate ¶
func RetrievePodTemplate(ctx *RecommendationContext) error
func RetrievePods ¶
func RetrievePods(ctx *RecommendationContext) error
func RetrieveScale ¶
func RetrieveScale(ctx *RecommendationContext) error
Types ¶
type Filter ¶
type Filter interface {
// The Filter will filter resource can`t be recommended via target recommender.
Filter(ctx *RecommendationContext) error
}
Filter interface
type ObjectIdentity ¶
type ObjectIdentity struct {
Namespace string
APIVersion string
Kind string
Name string
Labels map[string]string
Object unstructured.Unstructured
}
func (ObjectIdentity) GetObjectReference ¶
func (id ObjectIdentity) GetObjectReference() corev1.ObjectReference
type Observe ¶
type Observe interface {
Observe(ctx *RecommendationContext) error
}
Observe interface
type PostPrepare ¶
type PostPrepare interface {
PostProcessing(ctx *RecommendationContext) error
}
type PostRecommend ¶
type PostRecommend interface {
Policy(ctx *RecommendationContext) error
}
PostRecommend interface
type PrePrepare ¶
type PrePrepare interface {
CheckDataProviders(ctx *RecommendationContext) error
}
PrePrepare interface
type PreRecommend ¶
type PreRecommend interface {
PreRecommend(ctx *RecommendationContext) error
}
PreRecommend interface
type Prepare ¶
type Prepare interface {
CollectData(ctx *RecommendationContext) error
}
Prepare interface
type Recommend ¶
type Recommend interface {
Recommend(ctx *RecommendationContext) error
}
Recommend interface
type RecommendationContext ¶
type RecommendationContext struct {
Context context.Context
// The kubernetes resource object reference of recommendation flow.
Identity ObjectIdentity
// Target Object
Object client.Object
// Result series from prediction
ResultValues []*common.TimeSeries
// DataProviders contains data source of your recommendation flow.
DataProviders map[providers.DataSourceType]providers.History
// Recommendation store result of recommendation flow.
Recommendation *v1alpha1.Recommendation
// When cancel channel accept signal indicates that the context has been canceled. The recommendation should stop executing as soon as possible.
// CancelCh <-chan struct{}
// RecommendationRule for the context
RecommendationRule *v1alpha1.RecommendationRule
// metrics namer for datasource provider
MetricNamer metricnaming.MetricNamer
// Algorithm Config
AlgorithmConfig *config.Config
// Manager of predict algorithm
PredictorMgr predictormgr.Manager
// Pod template
PodTemplate corev1.PodTemplateSpec
// Client
Client client.Client
// RestMapper
RestMapper meta.RESTMapper
// ScalesGetter
ScaleClient scale.ScalesGetter
// oom.Recorder
OOMRecorder oom.Recorder
// Scale
Scale *autoscalingapiv1.Scale
// Pods in recommendation
Pods []corev1.Pod
// HPA Object
HPA *autoscalingv2.HorizontalPodAutoscaler
// HPA Object
EHPA *autoscalingapi.EffectiveHorizontalPodAutoscaler
// contains filtered or unexported fields
}
func NewRecommendationContext ¶
func NewRecommendationContext(context context.Context, identity ObjectIdentity, recommendationRule *v1alpha1.RecommendationRule, predictorMgr predictormgr.Manager, dataProviders map[providers.DataSourceType]providers.History, recommendation *v1alpha1.Recommendation, client client.Client, scaleClient scale.ScalesGetter, oomRecorder oom.Recorder) RecommendationContext
func NewRecommendationContextForObserve ¶ added in v0.10.0
func NewRecommendationContextForObserve(recommendation *v1alpha1.Recommendation, restMapper meta.RESTMapper, scaleClient scale.ScalesGetter) RecommendationContext
func (*RecommendationContext) AddInputValue ¶ added in v0.11.0
func (ctx *RecommendationContext) AddInputValue(key string, timeSeries []*common.TimeSeries)
func (*RecommendationContext) InputValue ¶ added in v0.11.0
func (ctx *RecommendationContext) InputValue(key string) []*common.TimeSeries
func (*RecommendationContext) String ¶ added in v0.9.0
func (ctx *RecommendationContext) String() string
Click to show internal directories.
Click to hide internal directories.