feat(monitor): influxQuery add P95 reduce

This commit is contained in:
zhaoxiangchun
2021-01-14 10:43:07 +08:00
parent 33975b5c12
commit 64e587f97b
@@ -134,6 +134,20 @@ func (s *queryReducer) Reduce(series *tsdb.TimeSeries) (*float64, []string) {
if value > 0 {
allNull = false
}
case "P95":
var values []float64
for _, v := range series.Points {
if v.IsValid() {
allNull = false
values = append(values, v.Value())
}
}
if len(values) >= 1 {
sort.Float64s(values)
length := len(values)
index := math.Floor(float64(length) * 0.95)
value = values[int64(index)]
}
}
if allNull {