Class

kanaloa.reactive.dispatcher.queue

AutoScalingSettings

Related Doc: package queue

Permalink

case class AutoScalingSettings(chanceOfScalingDownWhenFull: Double = 0.1, actionFrequency: FiniteDuration = 5.seconds, downsizeAfterUnderUtilization: FiniteDuration = 72.hours, numOfAdjacentSizesToConsiderDuringOptimization: Int = 12, exploreStepSize: Double = 0.1, downsizeRatio: Double = 0.8, explorationRatio: Double = 0.4, weightOfLatestMetric: Double = 0.5, statusCollectionTimeout: FiniteDuration = 30.seconds) extends Product with Serializable

chanceOfScalingDownWhenFull

chance of scaling down when the worker pool is fully utlized

actionFrequency

duration between each scaling attempt

downsizeAfterUnderUtilization

start to downsize after underutilized for period, should be long enough to include at least one traffic cycle.

numOfAdjacentSizesToConsiderDuringOptimization

during optimization, it only looks at this number of adjacent pool sizes (adjacent to current pool size), to figure out the optimal pool size to move to

exploreStepSize

during exploration, it takes as big a step as this size. It's a ratio to the current pool size, so if the current size is 10 and the exploreStepSize is 0.2, the exploration will be within a range between 8 and 12

downsizeRatio

during downsizing, it will downsize to the largest number of concurrently occupied workers it has seen plus a buffer zone, this downsizeRatio determines the buffer size.

explorationRatio

chance of doing a exploration vs an optimization

statusCollectionTimeout

maximum time allowed when autoscaler collects status from queue, queueProcessor and all workers

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AutoScalingSettings
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AutoScalingSettings(chanceOfScalingDownWhenFull: Double = 0.1, actionFrequency: FiniteDuration = 5.seconds, downsizeAfterUnderUtilization: FiniteDuration = 72.hours, numOfAdjacentSizesToConsiderDuringOptimization: Int = 12, exploreStepSize: Double = 0.1, downsizeRatio: Double = 0.8, explorationRatio: Double = 0.4, weightOfLatestMetric: Double = 0.5, statusCollectionTimeout: FiniteDuration = 30.seconds)

    Permalink

    chanceOfScalingDownWhenFull

    chance of scaling down when the worker pool is fully utlized

    actionFrequency

    duration between each scaling attempt

    downsizeAfterUnderUtilization

    start to downsize after underutilized for period, should be long enough to include at least one traffic cycle.

    numOfAdjacentSizesToConsiderDuringOptimization

    during optimization, it only looks at this number of adjacent pool sizes (adjacent to current pool size), to figure out the optimal pool size to move to

    exploreStepSize

    during exploration, it takes as big a step as this size. It's a ratio to the current pool size, so if the current size is 10 and the exploreStepSize is 0.2, the exploration will be within a range between 8 and 12

    downsizeRatio

    during downsizing, it will downsize to the largest number of concurrently occupied workers it has seen plus a buffer zone, this downsizeRatio determines the buffer size.

    explorationRatio

    chance of doing a exploration vs an optimization

    statusCollectionTimeout

    maximum time allowed when autoscaler collects status from queue, queueProcessor and all workers

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val actionFrequency: FiniteDuration

    Permalink

    duration between each scaling attempt

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. val chanceOfScalingDownWhenFull: Double

    Permalink

    chance of scaling down when the worker pool is fully utlized

  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val downsizeAfterUnderUtilization: FiniteDuration

    Permalink

    start to downsize after underutilized for period, should be long enough to include at least one traffic cycle.

  9. val downsizeRatio: Double

    Permalink

    during downsizing, it will downsize to the largest number of concurrently occupied workers it has seen plus a buffer zone, this downsizeRatio determines the buffer size.

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. val explorationRatio: Double

    Permalink

    chance of doing a exploration vs an optimization

  12. val exploreStepSize: Double

    Permalink

    during exploration, it takes as big a step as this size.

    during exploration, it takes as big a step as this size. It's a ratio to the current pool size, so if the current size is 10 and the exploreStepSize is 0.2, the exploration will be within a range between 8 and 12

  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. val numOfAdjacentSizesToConsiderDuringOptimization: Int

    Permalink

    during optimization, it only looks at this number of adjacent pool sizes (adjacent to current pool size), to figure out the optimal pool size to move to

  20. val statusCollectionTimeout: FiniteDuration

    Permalink

    maximum time allowed when autoscaler collects status from queue, queueProcessor and all workers

  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. val weightOfLatestMetric: Double

    Permalink

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped