use of io.micrometer.core.instrument.Meter in project resilience4j by resilience4j.
the class CircuitBreakerMetricsTest method shouldRegisterMetrics.
@Test
public void shouldRegisterMetrics() {
CircuitBreakerRegistry circuitBreakerRegistry = CircuitBreakerRegistry.ofDefaults();
circuitBreakerRegistry.circuitBreaker("testName");
CircuitBreakerMetrics circuitBreakerMetrics = CircuitBreakerMetrics.ofCircuitBreakerRegistry(circuitBreakerRegistry);
circuitBreakerMetrics.bindTo(meterRegistry);
final List<String> metricNames = meterRegistry.getMeters().stream().map(Meter::getId).map(Meter.Id::getName).collect(Collectors.toList());
final List<String> expectedMetrics = newArrayList("resilience4j.circuitbreaker.testName.successful", "resilience4j.circuitbreaker.testName.failed", "resilience4j.circuitbreaker.testName.not_permitted", "resilience4j.circuitbreaker.testName.state", "resilience4j.circuitbreaker.testName.buffered", "resilience4j.circuitbreaker.testName.buffered_max");
assertThat(metricNames).hasSameElementsAs(expectedMetrics);
}
use of io.micrometer.core.instrument.Meter in project resilience4j by resilience4j.
the class RateLimiterMetricsTest method shouldRegisterMetrics.
@Test
public void shouldRegisterMetrics() {
RateLimiterRegistry rateLimiterRegistry = RateLimiterRegistry.ofDefaults();
rateLimiterRegistry.rateLimiter("testName");
RateLimiterMetrics rateLimiterMetrics = RateLimiterMetrics.ofRateLimiterRegistry(rateLimiterRegistry);
rateLimiterMetrics.bindTo(meterRegistry);
final List<String> metricNames = meterRegistry.getMeters().stream().map(Meter::getId).map(Meter.Id::getName).collect(Collectors.toList());
final List<String> expectedMetrics = newArrayList("resilience4j.ratelimiter.testName.available_permissions", "resilience4j.ratelimiter.testName.number_of_waiting_threads");
assertThat(metricNames).hasSameElementsAs(expectedMetrics);
}
use of io.micrometer.core.instrument.Meter in project spring-cloud-stream by spring-cloud.
the class DefaultDestinationPublishingMeterRegistry method publish.
protected void publish() {
List<Metric<Number>> aggregatedMeters = new ArrayList<>();
for (Meter meter : this.getMeters()) {
if (meter instanceof Timer) {
aggregatedMeters.add(toTimerMetric((Timer) meter));
} else if (meter instanceof DistributionSummary) {
aggregatedMeters.add(toSummaryMetric((DistributionSummary) meter));
}
}
if (!aggregatedMeters.isEmpty()) {
ApplicationMetrics metrics = new ApplicationMetrics(this.applicationProperties.getKey(), aggregatedMeters);
metrics.setProperties(this.applicationProperties.getExportProperties());
try {
String jsonString = this.objectMapper.writeValueAsString(metrics);
this.metricsConsumer.accept(jsonString);
} catch (JsonProcessingException e) {
logger.warn("Error producing JSON String representation metric data", e);
}
}
}
use of io.micrometer.core.instrument.Meter in project spring-boot by spring-projects.
the class ConnectionPoolMetricsAutoConfigurationTests method connectionPoolExposedAsConnectionFactoryTypeIsInstrumented.
@Test
void connectionPoolExposedAsConnectionFactoryTypeIsInstrumented() {
this.contextRunner.withUserConfiguration(ConnectionFactoryConfiguration.class).run((context) -> {
MeterRegistry registry = context.getBean(MeterRegistry.class);
assertThat(registry.find("r2dbc.pool.acquired").gauges()).extracting(Meter::getId).extracting((id) -> id.getTag("name")).containsExactly("testConnectionPool");
});
}
use of io.micrometer.core.instrument.Meter in project spring-boot by spring-projects.
the class WebMvcMetricsAutoConfigurationTests method timerWorksWithTimedAnnotationsWhenAutoTimeRequestsIsFalse.
@Test
void timerWorksWithTimedAnnotationsWhenAutoTimeRequestsIsFalse() {
this.contextRunner.withUserConfiguration(TestController.class).withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class, WebMvcAutoConfiguration.class)).withPropertyValues("management.metrics.web.server.request.autotime.enabled=false").run((context) -> {
MeterRegistry registry = getInitializedMeterRegistry(context, "/test3");
Collection<Meter> meters = registry.get("http.server.requests").meters();
assertThat(meters).hasSize(1);
Meter meter = meters.iterator().next();
assertThat(meter.getId().getTag("uri")).isEqualTo("/test3");
});
}
Aggregations