Hello!

I want to gather some Metrics of all Topologies running in Storm and came 
across the IMetricsConsumer.
In order to add gathering of metrics to all topologies, I added my 
implementation in the "storm.yaml" config.

Although it works great so far, I have some conceptual questions.
As far as I understand it, the MetricsConsumer is internally implemented as a 
Bolt which is connected to all
other Bolts. As with Bolts, I can adjust the degree of parallelism by 
specifying a "parallelism.hint" which
basically defines the amount of Executors (i.e. Threads) that execute this Bolt.

Question 1:
With which kind of Grouping is the MetricsConsumerBolt connected to the other 
Bolts? I would have guessed
"shuffle grouping" or "local or shuffle grouping", is this true?

Question 2:
Despite being able to define the amount of Executors, can I specify in which 
way I'd like to "distribute"
the MetricsConsumerBolt "instances".
Imagine that my topology is split across 2 workers which are running on 
separate machines and I've set
"parallelism.hint: 2". Where will the two MetricsConsumerBolt Tasks run? One 
Task on each Worker? Both Tasks
on one Worker?

Thank you!
Dave Webb

Reply via email to