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)

Reply via email to