@@ -90,9 +90,11 @@ abstract static class Builder {
9090 public static String GAUGE_NAME_FEATURE_VALUE_MIN = "feature_value_min" ;
9191 public static String GAUGE_NAME_FEATURE_VALUE_MAX = "feature_value_max" ;
9292 public static String GAUGE_NAME_FEATURE_VALUE_MEAN = "feature_value_mean" ;
93+ public static String GAUGE_NAME_FEATURE_VALUE_PERCENTILE_25 = "feature_value_percentile_25" ;
9394 public static String GAUGE_NAME_FEATURE_VALUE_PERCENTILE_50 = "feature_value_percentile_50" ;
9495 public static String GAUGE_NAME_FEATURE_VALUE_PERCENTILE_90 = "feature_value_percentile_90" ;
9596 public static String GAUGE_NAME_FEATURE_VALUE_PERCENTILE_95 = "feature_value_percentile_95" ;
97+ public static String GAUGE_NAME_FEATURE_VALUE_PERCENTILE_99 = "feature_value_percentile_99" ;
9698
9799 @ Setup
98100 public void setup () {
@@ -205,6 +207,12 @@ public void processElement(
205207 values [i ] = valueList .get (i );
206208 }
207209
210+ double p25 = new Percentile ().evaluate (values , 25 );
211+ if (p25 < 0 ) {
212+ statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_25 , 0 , tags );
213+ }
214+ statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_25 , p25 , tags );
215+
208216 double p50 = new Percentile ().evaluate (values , 50 );
209217 if (p50 < 0 ) {
210218 statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_50 , 0 , tags );
@@ -222,6 +230,12 @@ public void processElement(
222230 statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_95 , 0 , tags );
223231 }
224232 statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_95 , p95 , tags );
233+
234+ double p99 = new Percentile ().evaluate (values , 99 );
235+ if (p99 < 0 ) {
236+ statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_99 , 0 , tags );
237+ }
238+ statsDClient .gauge (GAUGE_NAME_FEATURE_VALUE_PERCENTILE_99 , p99 , tags );
225239 }
226240 }
227241
0 commit comments