You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@helix.apache.org by GitBox <gi...@apache.org> on 2019/08/08 16:14:56 UTC

[GitHub] [helix] chenboat commented on issue #378: Make the reservoir used in ZkClientPathMonitor metric configurable.

chenboat commented on issue #378: Make the reservoir used in ZkClientPathMonitor metric configurable.
URL: https://github.com/apache/helix/pull/378#issuecomment-519586561
 
 
   Thanks for all the feedbacks. Comments inline below.
   > 1. I agree to make the window configurable. It makes sense.
   > 2. The current implementation passes the configure item all the way from Accessor to the monitor. This is not necessary, in my opinion. Moreover, it would be extremely difficult to apply this solution to all of our monitors. Have you tried to add a global configuration and apply it to all the monitors?
   
   Good point. I mainly look at the fix for the accessor we used (i.e., in Pinot). I can work on the global config change. Do you know if there is any global configuration class already in Helix? If not, I can add a new one.  
   
   > 3. FYI, we also did some investigation before. What we found is these code in https://github.com/dropwizard/metrics/blob/3748f09b249f47a24ef868595fed4556ec5e92b1/metrics-core/src/main/java/com/codahale/metrics/SlidingTimeWindowReservoir.java
   >    @override
   >    public Snapshot getSnapshot() {
   >    trim();
   >    return new UniformSnapshot(measurements.values());
   >    }
   >    This basically means on every get, the metrics lib will clone all the data. And we believe this causes frequent GC and high memory usage.
   
   From our Heapdump analysis (screenshot in the original issue #382), we found the main contributors to the memory are the time bounded linked list  of SlidingTimeWindowReservoir objects in a prod server. That is the reason we want to tune the window length.   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@helix.apache.org
For additional commands, e-mail: reviews-help@helix.apache.org