Zhengdai Hu created STORM-3101:
----------------------------------

             Summary: Select Registry metrics by calling daemon
                 Key: STORM-3101
                 URL: https://issues.apache.org/jira/browse/STORM-3101
             Project: Apache Storm
          Issue Type: Improvement
          Components: storm-server
    Affects Versions: 2.0.0
            Reporter: Zhengdai Hu
            Assignee: Zhengdai Hu
             Fix For: 2.0.0


Metrics that are registered using StormMetricRegistry all added through static 
method from the registry class, and attached to a singleton MetricRegistry 
object per process. Currently most metrics are bound to classes (static), so 
the issue occurs when metrics from irrelevant components are accidentally 
registered in class initialization phase. 

For example, a process running supervisor daemon will incorrectly register 
metrics from nimbus when BasicContainer class is initialized and statically 
imports 
"org.apache.storm.daemon.nimbus.Nimbus.MIN_VERSION_SUPPORT_RPC_HEARTBEAT", 
which triggers initialization of Nimbus class and all metrics registration, 
even though no functionalities of nimbus daemon will be used and no nimbus 
metrics will be updated. 

This creates many garbage metrics and makes metrics hard to read. Therefore we 
should filter metrics registration by the type of daemon that the process 
actually runs.

For implementation please see the pull request.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to