You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "DashengJu (JIRA)" <ji...@apache.org> on 2014/03/06 07:44:42 UTC

[jira] [Created] (STORM-254) one Spout/Bolt can register metric twice with same name

DashengJu created STORM-254:
-------------------------------

             Summary: 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


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)