I created an implementation IMetricsConsumerand registered it in my topology through YAML as follows. Any custom metrics that I created in my own code are successfully passed to this user.
topology.metrics.consumer.register:
- class: "hnb.storm.metric.opentsdb.OpenTsdbMetricConsumer"
parallelism.hint: ${storm.topology.metrics.consumer.parallelism}
Unfortunately, other "external" metrics created outside of my code are never passed to this consumer. For example, I use storm.kafka.KafkaSpoutone that creates its own metric called kafkaOffsetusing the same API. My consumer never gets this rate.
How to ensure that my consumer receives "external" indicators, such as kafkaOffset?
source
share