@Override public MBeanInfo getMBeanInfo() { MBeanAttributeInfo[] attrs = new MBeanAttributeInfo[metrics.size()]; int i = 0; for (Map.Entry<String, KafkaMetric> entry : this.metrics.entrySet()) { String attribute = entry.getKey(); KafkaMetric metric = entry.getValue(); attrs[i] = new MBeanAttributeInfo(attribute, double.class.getName(), metric.metricName().description(), true, false, false); i += 1; } return new MBeanInfo(this.getClass().getName(), "", attrs, null, null, null); }
@Override public MBeanInfo getMBeanInfo() { MBeanAttributeInfo[] attrs = new MBeanAttributeInfo[metrics.size()]; int i = 0; for (Map.Entry<String, KafkaMetric> entry : this.metrics.entrySet()) { String attribute = entry.getKey(); KafkaMetric metric = entry.getValue(); attrs[i] = new MBeanAttributeInfo(attribute, double.class.getName(), metric.metricName().description(), true, false, false); i += 1; } return new MBeanInfo(this.getClass().getName(), "", attrs, null, null, null); }
public void mirrorFrom(final ConcurrentMap<MetricName, KafkaMetric> kafkaMetrics, final Predicate<String> metricFilter, final Function<MetricName, String> metricNameAdjuster) { for (final Map.Entry<MetricName, KafkaMetric> entry : filter(kafkaMetrics, metricFilter)) { try { final MetricName metricName = entry.getKey(); final String realMetricName = metricNameAdjuster.apply(metricName); metricsFactory.createGauge( (metricName.group() + "_" + realMetricName).replaceAll("(-|\\.)", "_"), Strings.isNullOrEmpty(metricName.description()) ? "No description" : metricName.description(), () -> entry.getValue().value() ); } catch (final Exception e) { log.error("Could not process metrics", e); } } } }