public MetricQueryResults build() { buildMetricsIndex(); DataflowMetricResultExtractor extractor = new DataflowMetricResultExtractor(dataflowPipelineJob.getDataflowOptions().isStreaming()); for (MetricKey metricKey : metricHashKeys) { String metricName = metricKey.metricName().getName(); if (metricName.endsWith("[MIN]") || metricName.endsWith("[MAX]") || metricName.endsWith("[MEAN]") || metricName.endsWith("[COUNT]")) { // Skip distribution metrics, as these are not yet properly supported. // TODO: remove this when distributions stop being broken up for the UI. continue; } extractor.addMetricResult( metricKey, committedByName.get(metricKey), tentativeByName.get(metricKey)); } return DataflowMetricQueryResults.create( extractor.getCounterResults(), extractor.getDistributionResults(), extractor.getGaugeResults()); } }