Erik Krogen created HADOOP-13782: ------------------------------------ Summary: Make MutableRates metrics thread-local write, aggregate-on-read Key: HADOOP-13782 URL: https://issues.apache.org/jira/browse/HADOOP-13782 Project: Hadoop Common Issue Type: Improvement Components: metrics Reporter: Erik Krogen Assignee: Erik Krogen
Currently the {{MutableRates}} metrics class serializes all writes to metrics it contains because of its use of {{MetricsRegistry.add()}} (i.e., even two increments of unrelated metrics contained within the same {{MutableRates}} object will serialize w.r.t. each other). This class is used by {{RpcDetailedMetrics}}, which may have many hundreds of threads contending to modify these metrics. Instead we should allow updates to unrelated metrics objects to happen concurrently. To do so we can let each thread locally collect metrics, and on a {{snapshot}}, aggregate the metrics from all of the threads. I have collected some benchmark performance numbers in HADOOP-13747 (https://issues.apache.org/jira/secure/attachment/12835043/benchmark_results) which indicate that this can bring significantly higher performance in high contention situations. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-dev-h...@hadoop.apache.org