From 015733bed7745326cc33dccec839607e2471af0d Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Tue, 10 Aug 2021 22:22:37 +0300 Subject: [PATCH] Fix percentile aggregation --- pkg/timeseries/agg_functions.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/timeseries/agg_functions.go b/pkg/timeseries/agg_functions.go index 2d9239a..66c655e 100644 --- a/pkg/timeseries/agg_functions.go +++ b/pkg/timeseries/agg_functions.go @@ -5,7 +5,7 @@ import ( "sort" ) -type AgggregationFunc = func(points []TimePoint) *float64 +type AggregationFunc = func(points []TimePoint) *float64 func AggAvg(points []TimePoint) *float64 { sum := AggSum(points) @@ -68,7 +68,7 @@ func AggMedian(points []TimePoint) *float64 { return AggPercentile(50)(points) } -func AggPercentile(n float64) AgggregationFunc { +func AggPercentile(n float64) AggregationFunc { return func(points []TimePoint) *float64 { values := make([]float64, 0) for _, p := range points { @@ -80,7 +80,7 @@ func AggPercentile(n float64) AgggregationFunc { return nil } - values = sort.Float64Slice(values) + sort.Sort(sort.Float64Slice(values)) percentileIndex := int(math.Floor(float64(len(values)) * n / 100)) percentile := values[percentileIndex] return &percentile