Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoScaler ¶
type AutoScaler interface { Estimator // Acquire X ResourceUnit of resource Acquire(ResourceUnit) error // Release X ResourceUnit of resource Release(ResourceUnit) // GetCurrent ResourceUnit of resource GetCurrent() ResourceUnit // Start starts the autoscaler go routine that scales the ResourceUnit according to Estimator Start() // Stop stops the autoscaler if started or do nothing if not yet started Stop() }
AutoScaler collects data and estimate usage
type Estimator ¶
type Estimator interface { CollectUsage(data interface{}) error Estimate() (Usages, error) Reset() }
Estimator collects data and estimate usage
type MilliUsage ¶
type MilliUsage uint64
MilliUsage is the custom defined usage of ResourceUnit times 1000
func (MilliUsage) Value ¶
func (u MilliUsage) Value() float64
Value helper method for type conversion
type Recommender ¶
type Recommender interface {
Recommend(currentResource ResourceUnit, currentUsages Usages) ResourceUnit
}
Recommender a recommendation generator for ResourceUnit
func NewLinearRecommender ¶
func NewLinearRecommender(lower, upper ResourceUnit, targetUsages Usages) Recommender
NewLinearRecommender create a linear Recommender
type ResourceUnit ¶
type ResourceUnit uint
ResourceUnit is the unit of scalable resources
func (ResourceUnit) Value ¶
func (r ResourceUnit) Value() float64
Value helper method for type conversion
type UsageType ¶
type UsageType string
UsageType type of usage
const ( // PollerUtilizationRate is a scale from 0 to 1 to indicate poller usages PollerUtilizationRate UsageType = "pollerUtilizationRate" )
type Usages ¶
type Usages map[UsageType]MilliUsage
Usages are different measurements used by a Recommender to provide a recommended ResourceUnit
Click to show internal directories.
Click to hide internal directories.