06947df149626dff539c24dc95257759b2a42709 | Author: nparaddi-walmart <121308948+nparaddi-walmart@users.noreply.github.com>
| 2023-09-11 10:16:47-07:00
add support for publishing percentile time series for the histogram m… (#1689)
* add support for publishing percentile time series for the histogram metrics cql-requests, cql-messages and throttling delay.
Motivation:
Histogram metrics is generating too many metrics overloading the promethous servers. if application has 500 Vms
and 1000 cassandra nodes, The histogram metrics generates 100*500*1000 = 50,000,000 time series every 30 seconds.
This is just too much metrics. Let us say we can generate percentile 95 timeseries for for every cassandra nodes,
then we only have 1*500 = 500 metrics and in applciation side, we can ignore the _bucket time series. This way there
will be very less metrics.
Modifications:
add configurable pre-defined percentiles to Micrometer Timer.Builder.publishPercentiles. This change is being added to
cql-requests, cql-messages and throttling delay.
Result:
Based on the configuration, we will see additonal quantile time series for cql-requests, cql-messages and throttling delay
histogram metrics.
* add support for publishing percentile time series for the histogram metrics cql-requests, cql-messages and throttling delay.
Motivation:
Histogram metrics is generating too many metrics overloading the promethous servers. if application has 500 Vms
and 1000 cassandra nodes, The histogram metrics generates 100*500*1000 = 50,000,000 time series every 30 seconds.
This is just too much metrics. Let us say we can generate percentile 95 timeseries for for every cassandra nodes,
then we only have 1*500 = 500 metrics and in applciation side, we can ignore the _bucket time series. This way there
will be very less metrics.
Modifications:
add configurable pre-defined percentiles to Micrometer Timer.Builder.publishPercentiles. This change is being added to
cql-requests, cql-messages and throttling delay.
Result:
Based on the configuration, we will see additonal quantile time series for cql-requests, cql-messages and throttling delay
histogram metrics.
* using helper method as suggested in review
* fixes as per review comments
* add configuration option which switches aggregable histogram generation on/off for all metric flavors [default=on]
* updating java doc
* rename method to publishPercentilesIfDefined
* renmae method
---------
Co-authored-by: Nagappa Paraddi <nparaddi@walmartlabs.com>