Search in sources :

Example 86 with MeterRegistry

use of io.micrometer.core.instrument.MeterRegistry in project spring-boot by spring-projects.

the class RestTemplateMetricsConfigurationTests method restTemplateCreatedWithBuilderIsInstrumented.

@Test
void restTemplateCreatedWithBuilderIsInstrumented() {
    this.contextRunner.run((context) -> {
        MeterRegistry registry = context.getBean(MeterRegistry.class);
        RestTemplateBuilder builder = context.getBean(RestTemplateBuilder.class);
        validateRestTemplate(builder, registry);
    });
}
Also used : RestTemplateBuilder(org.springframework.boot.web.client.RestTemplateBuilder) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Test(org.junit.jupiter.api.Test)

Example 87 with MeterRegistry

use of io.micrometer.core.instrument.MeterRegistry in project spring-boot by spring-projects.

the class WebMvcMetricsAutoConfigurationTests method shouldNotDenyNorLogIfMaxUrisIsNotReached.

@Test
void shouldNotDenyNorLogIfMaxUrisIsNotReached(CapturedOutput output) {
    this.contextRunner.withUserConfiguration(TestController.class).withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class, WebMvcAutoConfiguration.class)).withPropertyValues("management.metrics.web.server.max-uri-tags=5").run((context) -> {
        MeterRegistry registry = getInitializedMeterRegistry(context);
        assertThat(registry.get("http.server.requests").meters()).hasSize(3);
        assertThat(output).doesNotContain("Reached the maximum number of URI tags for 'http.server.requests'");
    });
}
Also used : WebMvcAutoConfiguration(org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration) MetricsAutoConfiguration(org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration) TestController(org.springframework.boot.actuate.autoconfigure.metrics.web.TestController) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Test(org.junit.jupiter.api.Test)

Example 88 with MeterRegistry

use of io.micrometer.core.instrument.MeterRegistry in project spring-boot by spring-projects.

the class WebMvcMetricsAutoConfigurationTests method afterMaxUrisReachedFurtherUrisAreDenied.

@Test
void afterMaxUrisReachedFurtherUrisAreDenied(CapturedOutput output) {
    this.contextRunner.withUserConfiguration(TestController.class).withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class, WebMvcAutoConfiguration.class)).withPropertyValues("management.metrics.web.server.max-uri-tags=2").run((context) -> {
        MeterRegistry registry = getInitializedMeterRegistry(context);
        assertThat(registry.get("http.server.requests").meters()).hasSize(2);
        assertThat(output).contains("Reached the maximum number of URI tags for 'http.server.requests'");
    });
}
Also used : WebMvcAutoConfiguration(org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration) MetricsAutoConfiguration(org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration) TestController(org.springframework.boot.actuate.autoconfigure.metrics.web.TestController) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Test(org.junit.jupiter.api.Test)

Example 89 with MeterRegistry

use of io.micrometer.core.instrument.MeterRegistry in project spring-boot by spring-projects.

the class WebMvcMetricsAutoConfigurationTests method autoTimeRequestsCanBeConfigured.

@Test
void autoTimeRequestsCanBeConfigured() {
    this.contextRunner.withUserConfiguration(TestController.class).withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class, WebMvcAutoConfiguration.class)).withPropertyValues("management.metrics.web.server.request.autotime.enabled=true", "management.metrics.web.server.request.autotime.percentiles=0.5,0.7", "management.metrics.web.server.request.autotime.percentiles-histogram=true").run((context) -> {
        MeterRegistry registry = getInitializedMeterRegistry(context);
        Timer timer = registry.get("http.server.requests").timer();
        HistogramSnapshot snapshot = timer.takeSnapshot();
        assertThat(snapshot.percentileValues()).hasSize(2);
        assertThat(snapshot.percentileValues()[0].percentile()).isEqualTo(0.5);
        assertThat(snapshot.percentileValues()[1].percentile()).isEqualTo(0.7);
    });
}
Also used : WebMvcAutoConfiguration(org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration) Timer(io.micrometer.core.instrument.Timer) MetricsAutoConfiguration(org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration) TestController(org.springframework.boot.actuate.autoconfigure.metrics.web.TestController) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) HistogramSnapshot(io.micrometer.core.instrument.distribution.HistogramSnapshot) Test(org.junit.jupiter.api.Test)

Example 90 with MeterRegistry

use of io.micrometer.core.instrument.MeterRegistry in project spring-boot by spring-projects.

the class ConnectionPoolMetricsAutoConfigurationTests method connectionPoolInstrumentationCanBeDisabled.

@Test
void connectionPoolInstrumentationCanBeDisabled() {
    this.contextRunner.withConfiguration(AutoConfigurations.of(R2dbcAutoConfiguration.class)).withPropertyValues("management.metrics.enable.r2dbc=false").run((context) -> {
        MeterRegistry registry = context.getBean(MeterRegistry.class);
        assertThat(registry.find("r2dbc.pool.acquired").gauge()).isNull();
    });
}
Also used : R2dbcAutoConfiguration(org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration) SimpleMeterRegistry(io.micrometer.core.instrument.simple.SimpleMeterRegistry) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Test(org.junit.jupiter.api.Test)

Aggregations

MeterRegistry (io.micrometer.core.instrument.MeterRegistry)136 Test (org.junit.jupiter.api.Test)83 SimpleMeterRegistry (io.micrometer.core.instrument.simple.SimpleMeterRegistry)60 CompositeMeterRegistry (io.micrometer.core.instrument.composite.CompositeMeterRegistry)17 Timer (io.micrometer.core.instrument.Timer)15 Test (org.junit.Test)15 PrometheusMeterRegistry (io.micrometer.prometheus.PrometheusMeterRegistry)12 Duration (java.time.Duration)11 ApplicationContextRunner (org.springframework.boot.test.context.runner.ApplicationContextRunner)10 HikariDataSource (com.zaxxer.hikari.HikariDataSource)9 DataSource (javax.sql.DataSource)9 DelegatingDataSource (org.springframework.jdbc.datasource.DelegatingDataSource)9 SampleConfig (io.micrometer.core.samples.utils.SampleConfig)8 Match (io.vertx.micrometer.Match)8 FunctionCounter (io.micrometer.core.instrument.FunctionCounter)7 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)7 Normal (cern.jet.random.Normal)6 MersenneTwister64 (cern.jet.random.engine.MersenneTwister64)6 RandomEngine (cern.jet.random.engine.RandomEngine)6 Gauge (io.micrometer.core.instrument.Gauge)6