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)