in core/src/main/java/com/spotify/metrics/core/SemanticMetricRegistry.java [501:521]
private void notifyListenerOfAddedMetric(
final SemanticMetricRegistryListener listener, final Metric metric, final MetricId name
) {
if (metric instanceof Gauge) {
listener.onGaugeAdded(name, (Gauge<?>) metric);
} else if (metric instanceof Counter) {
listener.onCounterAdded(name, (Counter) metric);
} else if (metric instanceof Histogram) {
listener.onHistogramAdded(name, (Histogram) metric);
} else if (metric instanceof Meter) {
listener.onMeterAdded(name, (Meter) metric);
} else if (metric instanceof Timer) {
listener.onTimerAdded(name, (Timer) metric);
} else if (metric instanceof DerivingMeter) {
listener.onDerivingMeterAdded(name, (DerivingMeter) metric);
} else if (metric instanceof Distribution) {
listener.onDistributionAdded(name, (Distribution) metric);
} else {
throw new IllegalArgumentException("Unknown metric type: " + metric.getClass());
}
}