|
|
|
@ -24,6 +24,7 @@ import io.micrometer.core.instrument.Meter; |
|
|
|
import io.micrometer.core.instrument.MeterRegistry; |
|
|
|
import io.micrometer.core.instrument.MeterRegistry; |
|
|
|
import io.micrometer.core.instrument.Tag; |
|
|
|
import io.micrometer.core.instrument.Tag; |
|
|
|
import io.micrometer.core.instrument.Timer; |
|
|
|
import io.micrometer.core.instrument.Timer; |
|
|
|
|
|
|
|
import io.micrometer.core.instrument.binder.MeterBinder; |
|
|
|
import io.micrometer.core.instrument.distribution.HistogramSnapshot; |
|
|
|
import io.micrometer.core.instrument.distribution.HistogramSnapshot; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
|
|
|
|
|
|
|
|
@ -125,6 +126,13 @@ class RepositoryMetricsAutoConfigurationTests { |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void doesNotTriggerEarlyInitializationThatPreventsMeterBindersFromBindingMeters() { |
|
|
|
|
|
|
|
this.contextRunner.withUserConfiguration(MeterBinderConfiguration.class) |
|
|
|
|
|
|
|
.run((context) -> assertThat(context.getBean(MeterRegistry.class).find("binder.test").counter()) |
|
|
|
|
|
|
|
.isNotNull()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private MeterRegistry getInitializedMeterRegistry(AssertableApplicationContext context, |
|
|
|
private MeterRegistry getInitializedMeterRegistry(AssertableApplicationContext context, |
|
|
|
Class<?> repositoryInterface) { |
|
|
|
Class<?> repositoryInterface) { |
|
|
|
MetricsRepositoryMethodInvocationListener listener = context |
|
|
|
MetricsRepositoryMethodInvocationListener listener = context |
|
|
|
@ -158,6 +166,16 @@ class RepositoryMetricsAutoConfigurationTests { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Configuration(proxyBeanMethods = false) |
|
|
|
|
|
|
|
static class MeterBinderConfiguration { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Bean |
|
|
|
|
|
|
|
MeterBinder meterBinder() { |
|
|
|
|
|
|
|
return (registry) -> registry.counter("binder.test"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Configuration(proxyBeanMethods = false) |
|
|
|
@Configuration(proxyBeanMethods = false) |
|
|
|
static class MetricsRepositoryMethodInvocationListenerConfiguration { |
|
|
|
static class MetricsRepositoryMethodInvocationListenerConfiguration { |
|
|
|
|
|
|
|
|
|
|
|
|