Help us shape the future of Go! Take the 2026 Go Developer Survey

calculationstrategy

package
v1.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2020 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CalculateFunc

type CalculateFunc func(targetQPS, curQPS, prevProbability float64) (newProbability float64)

CalculateFunc wraps a function of appropriate signature and makes a ProbabilityCalculator from it.

func (CalculateFunc) Calculate

func (c CalculateFunc) Calculate(targetQPS, curQPS, prevProbability float64) float64

Calculate implements Calculator interface.

type PercentageIncreaseCappedCalculator

type PercentageIncreaseCappedCalculator struct {
	// contains filtered or unexported fields
}

PercentageIncreaseCappedCalculator is a probability calculator that caps the probability increase to a certain percentage of the previous probability.

Given prevProb = 0.1, newProb = 0.5, and cap = 0.5: (0.5 - 0.1)/0.1 = 400% increase. Given that our cap is 50%, the probability can only increase to 0.15.

Given prevProb = 0.4, newProb = 0.5, and cap = 0.5: (0.5 - 0.4)/0.4 = 25% increase. Given that this is below our cap of 50%, the probability can increase to 0.5.

func NewPercentageIncreaseCappedCalculator

func NewPercentageIncreaseCappedCalculator(percentageIncreaseCap float64) PercentageIncreaseCappedCalculator

NewPercentageIncreaseCappedCalculator returns a new percentage increase capped calculator.

func (PercentageIncreaseCappedCalculator) Calculate

func (c PercentageIncreaseCappedCalculator) Calculate(targetQPS, curQPS, prevProbability float64) float64

Calculate calculates the new probability.

type ProbabilityCalculator

type ProbabilityCalculator interface {
	Calculate(targetQPS, curQPS, prevProbability float64) (newProbability float64)
}

ProbabilityCalculator calculates the new probability given the current and target QPS

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL