/* * Copyright (c) 2018, salesforce.com, inc. * All rights reserved. * SPDX-License-Identifier: BSD-3-Clause * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause * */ package com.salesforce.mirus.metrics; import java.util.Map; import java.util.Set; import org.apache.kafka.common.MetricName; import org.apache.kafka.common.MetricNameTemplate; import org.apache.kafka.common.metrics.JmxReporter; import org.apache.kafka.common.metrics.Metrics; abstract class AbstractMirusJmxReporter { static final String CONNECTOR_KEY = "connector"; static final String TASK_KEY = "task"; final Metrics metrics; AbstractMirusJmxReporter(Metrics metrics) { this.metrics = metrics; this.metrics.addReporter(new JmxReporter("mirus")); } protected MetricName getMetric( String name, String group, String desc, Set<String> tags, Map<String, String> runtimeTags) { MetricNameTemplate failedTaskCountTemplate = new MetricNameTemplate(name, group, desc, tags); return metrics.metricInstance(failedTaskCountTemplate, runtimeTags); } }