Hi to all,

I want to fix  https://issues.apache.org/jira/browse/CASSANDRA-11063
This issue is very ugly for me, because when something works slow then it is 
impossible to capture metrics and save it to monitoring database for future 
investigation. Moreover when one histogram throw exception then many 
metrics-exporters are unable to export metrics for whole MetricRegistry(for 
example MetricsServlet), so when overflow happen in one histogram then I have 
no history data at all.

I propose to implement the following changes: 
1. The DecayingEstimatedHistogramReservoir and EstimatedHistogram will return 
maximum trackable value instead of Long.MAX_VALUE
2. The DecayingEstimatedHistogramReservoir and EstimatedHistogram will never 
throw IllegalStateException, instead, it will use maximum trackable value as 
regular value in percentile and average calculation.
3.  If anybody want to save old behavior(prefer to crash instead of inaccurate 
reporting) then I can add configuration parameter to save previous behavior, 
moreover I can leave old behavior as default, for my needs it will be enough to 
have some option to avoid crashes.


Best regards,
Bukhtoyarov Vladimir
email jseco...@mail.ru
skype live:fanat-tdd
Github: https://github.com/vladimir-bukhtoyarov

Reply via email to