[ 
https://issues.apache.org/jira/browse/STORM-3101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhengdai Hu updated STORM-3101:
-------------------------------
    Summary: Fix unexpected metrics registration in StormMetricsRegistry  (was: 
Select Registry metrics by running daemon)

> Fix unexpected metrics registration in StormMetricsRegistry
> -----------------------------------------------------------
>
>                 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
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.0.0
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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