Details
-
Test
-
Status: Open
-
P3
-
Resolution: Unresolved
-
None
-
None
-
None
Description
These classes today can only filter metrics with user metric names. Which are defined with a namespace and name string.
But does not allow filtering metrics defined with a URN + labels.
I.e. those defined with the MonitoringInfoMetricName class instead of the MetricName class.
Having this sort of MetricName filtering class would be useful for some SDK/runner use cases such as the metric filtering in MetricContainerImpl.matchMetric.
We could consider updating the MetricFiltering, MetricNameFilter, MetricFilter, etc. classes with a way to filter metrics defined by URN and laels.
The problem with doing this though, is that those classes were originally intended to be a public set of methods for querying metrics within your pipeline code. So a better solution would be to have a layer for the public API to do filtering, and an internal layer which can filter based on any MetricName type, including MonitoringInfoMetric name.
And allow building it based on specific rules, such as hasUrn, hasLabelKey, hasLabelKeyValuePair, etc.)