private void updateDistributions(Iterable<MetricResult<DistributionResult>> distributions) { for (MetricResult<DistributionResult> metricResult : distributions) { String flinkMetricName = getFlinkMetricNameString(DISTRIBUTION_PREFIX, metricResult); DistributionResult update = metricResult.attempted(); // update flink metric FlinkDistributionGauge gauge = flinkDistributionGaugeCache.get(flinkMetricName); if (gauge == null) { gauge = runtimeContext.getMetricGroup() .gauge(flinkMetricName, new FlinkDistributionGauge(update)); flinkDistributionGaugeCache.put(flinkMetricName, gauge); } else { gauge.update(update); } } }
private void updateGauge(Iterable<MetricResult<GaugeResult>> gauges) { for (MetricResult<GaugeResult> metricResult : gauges) { String flinkMetricName = getFlinkMetricNameString(GAUGE_PREFIX, metricResult); GaugeResult update = metricResult.attempted(); // update flink metric FlinkGauge gauge = flinkGaugeCache.get(flinkMetricName); if (gauge == null) { gauge = runtimeContext.getMetricGroup() .gauge(flinkMetricName, new FlinkGauge(update)); flinkGaugeCache.put(flinkMetricName, gauge); } else { gauge.update(update); } } }
private void updateCounters(Iterable<MetricResult<Long>> counters) { for (MetricResult<Long> metricResult : counters) { String flinkMetricName = getFlinkMetricNameString(COUNTER_PREFIX, metricResult); Long update = metricResult.attempted(); // update flink metric Counter counter = flinkCounterCache.get(flinkMetricName); if (counter == null) { counter = runtimeContext.getMetricGroup().counter(flinkMetricName); flinkCounterCache.put(flinkMetricName, counter); } counter.dec(counter.getCount()); counter.inc(update); } }