Merge pull request #2173 from murgatroid99/grpc-js_outlier_detection_stdev_fix

grpc-js: Outlier detection: Fix standard deviation calculation
This commit is contained in:
Michael Lumish 2022-07-22 13:37:06 -07:00 committed by GitHub
commit 586f7c6db9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -430,11 +430,12 @@ export class OutlierDetectionLoadBalancer implements LoadBalancer {
// Step 2
const successRateMean = successRates.reduce((a, b) => a + b) / successRates.length;
let successRateVariance = 0;
let successRateDeviationSum = 0;
for (const rate of successRates) {
const deviation = rate - successRateMean;
successRateVariance += deviation * deviation;
successRateDeviationSum += deviation * deviation;
}
const successRateVariance = successRateDeviationSum / successRates.length;
const successRateStdev = Math.sqrt(successRateVariance);
const ejectionThreshold = successRateMean - successRateStdev * (successRateConfig.stdev_factor / 1000);