|Constructor and Description|
|Modifier and Type||Method and Description|
Query for all metric values that match a given filter.
public abstract MetricQueryResults queryMetrics(MetricsFilter filter)
filter may filter based on the namespace and/or name of the metric, as well as
the step that reported the metric.
For each type of metric, the result contains an iterable of all metrics of that type that
matched the filter. Each
MetricResult includes the name of the metric, the step in
which it was reported and the
Note that runners differ in their support for committed and attempted values.
Example: Querying the metrics reported from the
SomeDoFn example in
could be done as follows:
Pipeline p = ...; p.apply("create1", Create.of("hello")).apply("myStepName1", ParDo.of(new SomeDoFn())); p.apply("create2", Create.of("world")).apply("myStepName2", ParDo.of(new SomeDoFn())); PipelineResult result = p.run(); MetricResults metrics = result.metrics(); MetricQueryResults metricResults = metrics.queryMetrics(new MetricsFilter.Builder() .addNameFilter("my-counter") .addStepFilter("myStepName1").addStepFilter("myStepName2") .build()); Iterable<MetricResult<Long>> counters = metricResults.counters(); // counters should contain the value of my-counter reported from each of the ParDo // applications.