 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- type BaseScalingContext
- func (b *BaseScalingContext) GetCurrentUsePerPod() float64
- func (b *BaseScalingContext) GetDownFluctuationTolerance() float64
- func (b *BaseScalingContext) GetMaxScaleDownRate() float64
- func (b *BaseScalingContext) GetMaxScaleUpRate() float64
- func (b *BaseScalingContext) GetScalingTolerance() (up float64, down float64)
- func (b *BaseScalingContext) GetTargetValue() float64
- func (b *BaseScalingContext) GetUpFluctuationTolerance() float64
- func (b *BaseScalingContext) SetCurrentUsePerPod(value float64)
- func (b *BaseScalingContext) UpdateByPaTypes(pa *autoscalingv1alpha1.PodAutoscaler) error
 
- type ScalingContext
Constants ¶
      View Source
      
  
const (
	AutoscalingLabelPrefix = "autoscaling.aibrix.ai/"
)
    Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseScalingContext ¶
type BaseScalingContext struct {
	// Maximum rate at which to scale up
	MaxScaleUpRate float64
	// Maximum rate at which to scale down, a value of 2.5 means the count can reduce to at most 2.5 times less than the current value in one step.
	MaxScaleDownRate float64
	// The metric used for scaling, i.e. CPU, Memory, QPS.
	ScalingMetric string
	// The value of scaling metric per pod that we target to maintain.
	TargetValue float64
	// The total value of scaling metric that a pod can maintain.
	TotalValue float64
	// contains filtered or unexported fields
}
    BaseScalingContext provides a base implementation of the ScalingContext interface.
func NewBaseScalingContext ¶
func NewBaseScalingContext() *BaseScalingContext
NewBaseScalingContext creates a new instance of BaseScalingContext with default values.
func (*BaseScalingContext) GetCurrentUsePerPod ¶
func (b *BaseScalingContext) GetCurrentUsePerPod() float64
func (*BaseScalingContext) GetDownFluctuationTolerance ¶
func (b *BaseScalingContext) GetDownFluctuationTolerance() float64
func (*BaseScalingContext) GetMaxScaleDownRate ¶
func (b *BaseScalingContext) GetMaxScaleDownRate() float64
func (*BaseScalingContext) GetMaxScaleUpRate ¶
func (b *BaseScalingContext) GetMaxScaleUpRate() float64
func (*BaseScalingContext) GetScalingTolerance ¶
func (b *BaseScalingContext) GetScalingTolerance() (up float64, down float64)
func (*BaseScalingContext) GetTargetValue ¶
func (b *BaseScalingContext) GetTargetValue() float64
func (*BaseScalingContext) GetUpFluctuationTolerance ¶
func (b *BaseScalingContext) GetUpFluctuationTolerance() float64
func (*BaseScalingContext) SetCurrentUsePerPod ¶
func (b *BaseScalingContext) SetCurrentUsePerPod(value float64)
func (*BaseScalingContext) UpdateByPaTypes ¶
func (b *BaseScalingContext) UpdateByPaTypes(pa *autoscalingv1alpha1.PodAutoscaler) error
UpdateByPaTypes should be invoked in any scaling context that embeds BaseScalingContext.
type ScalingContext ¶
type ScalingContext interface {
	GetTargetValue() float64
	GetUpFluctuationTolerance() float64
	GetDownFluctuationTolerance() float64
	GetMaxScaleUpRate() float64
	GetMaxScaleDownRate() float64
	GetCurrentUsePerPod() float64
	UpdateByPaTypes(pa *autoscalingv1alpha1.PodAutoscaler) error
}
    ScalingContext defines the generalized common that holds all necessary data for scaling calculations.
 Click to show internal directories. 
   Click to hide internal directories.