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

Reply via email to