in geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/RegistryImpl.java [84:102]
public <T extends Metric> T register(final String name, final T metric) throws IllegalArgumentException {
final MetricType type;
if (Counter.class.isInstance(metric)) {
type = MetricType.COUNTER;
} else if (Gauge.class.isInstance(metric)) {
type = MetricType.GAUGE;
} else if (Meter.class.isInstance(metric)) {
type = MetricType.METERED;
} else if (Timer.class.isInstance(metric)) {
type = MetricType.TIMER;
} else if (Histogram.class.isInstance(metric)) {
type = MetricType.HISTOGRAM;
} else if (ConcurrentGauge.class.isInstance(metric)) {
type = MetricType.CONCURRENT_GAUGE;
} else {
type = MetricType.INVALID;
}
return register(Metadata.builder().withName(name).withType(type).build(), metric);
}