in geronimo-metrics/src/main/java/org/apache/geronimo/microprofile/metrics/cdi/MetricsExtension.java [135:148]
void onMetric(@Observes final ProcessProducerField<? extends Metric, ?> processProducerField, final BeanManager beanManager) {
final org.eclipse.microprofile.metrics.annotation.Metric config = processProducerField.getAnnotated()
.getAnnotation(org.eclipse.microprofile.metrics.annotation.Metric.class);
if (config == null) {
return;
}
final Class<?> clazz = findClass(processProducerField.getAnnotated().getBaseType());
if (clazz == null || !Metric.class.isAssignableFrom(clazz)) {
return;
}
final Member javaMember = processProducerField.getAnnotatedProducerField().getJavaMember();
final Bean<?> bean = processProducerField.getBean();
producersRegistrations.add(() -> registerProducer(beanManager, config, clazz, javaMember, bean));
}