Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0, 1.1.0
-
None
Description
We're introducing "metrics filter" (STORM-1700) into Storm 1.1.0, which can give a control of volume and kinds of metrics to users.
After playing with metrics, I found that most of built-in metrics in Storm (core and storm-kafka) are having Map as value which have been expected to be populated from Metrics Consumer. Since filter resides on metrics consumer bolt (not injected to metrics consumer) filter cannot know how metrics are populated, thus can't filter out some of populated metrics.
For example, let's say we have metric which name is 'A' and value is {"B": 1, "C": 2}. For now we can't filter out 'A.C' and keep only 'A.B' since filter even doesn't know 'A' will be changed to 'A.B' and 'A.C'.
Since well-known metrics consumer (like storm-graphite) already supports populating metrics from one level map of value, I'd like to support this from Storm side and apply filter to populated metrics.