Hello All, I am working on extracting the metrics using the Metrics API and had a question about how the Nimbus UI displays the 'TopologyLevel' metrics for a component. By 'TopologyLevel', I mean the values which are summed across all tasks for the component. By clicking on the component in the Nimbus UI, one also gets to see the metrics-per-task for that component.
I was wondering if the aggregated metrics per component are calculated and displayed at the UI layer or if there is any of extracting them from the Metrics API itself. Also, I'll briefly describe my approach for computing these aggregated metrics and would appreciate any feedback, especially if there is anything inherent in this approach that would cause the aggregate metrics to be calculated incorrectly - 1. Register a Metrics consumer like the 'LoggingMetricsConsumer' - https://github.com/apache/storm/blob/master/storm-core/src/jvm/backtype/storm/metric/LoggingMetricsConsumer.java. Have multiple tasks running for this consumer 2. For every data point sent to this consumer, using the corresponding 'taskInfo' object, create wrapper metrics for 'TopologyLevel' and 'Component/Task Level' 3. Send these wrapper metrics to an aggregation framework that can aggregate based on the Metric Key/ Name. The expectation here is that the 'TopologyLevel' metrics that would be aggregated based on the Metric key should be the same as the ones displayed on the Nimbus UI. Any feedback/pointers are much appreciated. Thanks, Yash
