storm-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (STORM-254) one Spout/Bolt can register metric twice with same name
Date Wed, 02 Jul 2014 15:42:26 GMT

    [ https://issues.apache.org/jira/browse/STORM-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14050057#comment-14050057
] 

ASF GitHub Bot commented on STORM-254:
--------------------------------------

GitHub user dashengju opened a pull request:

    https://github.com/apache/incubator-storm/pull/176

    [STORM-254] one Spout/Bolt can register metric twice with same name in different timeBucket

    In a Bolt's prepare method, we can register metrics twice with the same name, using different
timeBucketSizeInSecs parameter, like this:
    ---------------------------------------------------------------------------------------
    public void prepare(Map stormConf, TopologyContext context)
    { 
        mapper = new ObjectMapper(); 
        CountMetric cMetric = new CountMetric(); 
        context.registerMetric("JavaBoltCount", cMetric, 120); 
        CountMetric ccMetric = new CountMetric(); 
        context.registerMetric("JavaBoltCount", ccMetric, 60); 
    }
    ----------------------------------------------------------------------------------------
    This is caused by TopologyContext's registerMetric. 
    In TopologyContext, all registered metrics holds in a map defined below:
    private Map<Integer,Map<Integer, Map<String, IMetric>>> _registeredMetrics;
    timeBucketSizeInSecs ----> __taskId ----> metricName ----> metirc
    But the same name check just at the innermost layer.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dashengju/incubator-storm upstream_master_storm254

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-storm/pull/176.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #176
    
----
commit f8c9995ac7f1d5fcdd19b3d0f67f0abd111f320e
Author: dashengju <dashengju@qq.com>
Date:   2014-07-02T15:32:30Z

    resolve storm-254, fobbiden to register same name metrics in different timeBucket

----


> one Spout/Bolt can register metric twice with same name
> -------------------------------------------------------
>
>                 Key: STORM-254
>                 URL: https://issues.apache.org/jira/browse/STORM-254
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>    Affects Versions: 0.9.2-incubating
>            Reporter: DashengJu
>   Original Estimate: 12h
>  Remaining Estimate: 12h
>
> In a Bolt's prepare method, we can register metrics twice with the same name, using different
timeBucketSizeInSecs parameter, like this:
>     public void prepare(Map stormConf, TopologyContext context) {
>     	mapper = new ObjectMapper();
>     	
>     	cMetric = new MTCountMetric();
>     	context.registerMetric("JavaBoltCount", cMetric, 120);
>     	ccMetric = new MTCountMetric();
>     	context.registerMetric("JavaBoltCount", ccMetric, 60);
>     }
> ----------------------------------------------------------------------------------------
> This is caused by TopologyContext's registerMetric. In TopologyContext, all registered
metrics holds in a map defined below:
> private Map<Integer,Map<Integer, Map<String, IMetric>>> _registeredMetrics;
> timeBucketSizeInSecs ----> __taskId ----> metricName ----> metirc



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message