95th percentile should return the max value that the 95% of the values are below it; fixes #2647
Costa Tsaousis (ktsaou) committed
Aug 29, 2017 at 13:31 UTC
23ba7681c337ad580f5e3133b8aa08b143706bc5
1 file changed
+1
-1
src/statsd.c
+1
-1
@@ -1501,7 +1501,7 @@ static inline void statsd_flush_timer_or_histogram(STATSD_METRIC *m, const char
1501
if(pct_len < 1)
1502
m->histogram.ext->last_percentile = (collected_number)(series[0] * statsd.decimal_detail);
1503
else
1504
- m->histogram.ext->last_percentile = (collected_number)roundl(average(series, pct_len) * statsd.decimal_detail);
1504
+ m->histogram.ext->last_percentile = (collected_number)roundl(series[pct_len - 1] * statsd.decimal_detail);
1505
1506
debug(D_STATSD, "STATSD %s metric %s: min " COLLECTED_NUMBER_FORMAT ", max " COLLECTED_NUMBER_FORMAT ", last " COLLECTED_NUMBER_FORMAT ", pcent " COLLECTED_NUMBER_FORMAT ", median " COLLECTED_NUMBER_FORMAT ", stddev " COLLECTED_NUMBER_FORMAT ", sum " COLLECTED_NUMBER_FORMAT,
1507
dim, m->name, m->histogram.ext->last_min, m->histogram.ext->last_max, m->last, m->histogram.ext->last_percentile, m->histogram.ext->last_median, m->histogram.ext->last_stddev, m->histogram.ext->last_sum);