Yifan Cai created CASSANDRA-16760:
-------------------------------------

             Summary: JMXTimer exposes attributes in inconsistent time units
                 Key: CASSANDRA-16760
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16760
             Project: Cassandra
          Issue Type: Improvement
          Components: Legacy/Observability
            Reporter: Yifan Cai
            Assignee: Yifan Cai


JMXTimer objects are constructed with a duration time unit, which is fixed to 
MICROSECONDS in the codebase. According to that, we should expect the time 
values returned from the JXMTimer are in micros.

However, the time unit is inconsistent among the JMXTimer attributes. 
Most of the attributes such as percentiles and mean values returned are in 
micros, except Values and RecentValues. 
Those 2 attributes expose the raw histogram values of the underlying Timer 
(CodaHale) and the values are fixed to be based on nanos. 

The inconsistency leads to confusion and mis-interpretation of the values, if 
the end user is not familiar with the implementation details. One may consider 
the Values and RecentValues are also in micros.
Besides the confusion, given the intention is to record the time values in the 
micros resolution, we do not need to allocate 165 buckets in the 
DecayingEstimatedHistogramReservoir. 165 buckets is necessary for nanos, but 
not for micros. We can only allocate 90 buckets and it should reduce ~50% 
memory footprint used by the Timers. 

I'd like to propose an approach to scale the values being recorded in the 
reservoirs used by Timers and reduce the allocation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to