use of io.micrometer.core.instrument.Timer in project vertx-micrometer-metrics by vert-x3.
the class TimersTest method shouldAliasTimerLabel.
@Test
public void shouldAliasTimerLabel() {
MeterRegistry registry = new SimpleMeterRegistry();
BackendRegistries.registerMatchers(registry, Collections.singletonList(new Match().setLabel("address").setType(MatchType.REGEX).setValue("addr1").setAlias("1")));
Timers timers = new Timers("my_timer", "", registry, Label.ADDRESS);
timers.get("addr1").record(5, TimeUnit.MILLISECONDS);
timers.get("addr1").record(8, TimeUnit.MILLISECONDS);
timers.get("addr2").record(10, TimeUnit.MILLISECONDS);
Timer t = registry.find("my_timer").tags("address", "1").timer();
assertThat(t.count()).isEqualTo(2);
assertThat(t.totalTime(TimeUnit.MILLISECONDS)).isEqualTo(13);
t = registry.find("my_timer").tags("address", "addr1").timer();
assertThat(t).isNull();
t = registry.find("my_timer").tags("address", "addr2").timer();
assertThat(t.count()).isEqualTo(1);
assertThat(t.totalTime(TimeUnit.MILLISECONDS)).isEqualTo(10);
}
use of io.micrometer.core.instrument.Timer in project vertx-micrometer-metrics by vert-x3.
the class TimersTest method shouldIgnoreTimerLabel.
@Test
public void shouldIgnoreTimerLabel() {
MeterRegistry registry = new SimpleMeterRegistry();
BackendRegistries.registerMatchers(registry, Collections.singletonList(new Match().setLabel("address").setType(MatchType.REGEX).setValue(".*").setAlias("_")));
Timers timers = new Timers("my_timer", "", registry, Label.ADDRESS);
timers.get("addr1").record(5, TimeUnit.MILLISECONDS);
timers.get("addr1").record(8, TimeUnit.MILLISECONDS);
timers.get("addr2").record(10, TimeUnit.MILLISECONDS);
Timer t = registry.find("my_timer").timer();
assertThat(t.count()).isEqualTo(3);
assertThat(t.totalTime(TimeUnit.MILLISECONDS)).isEqualTo(23);
t = registry.find("my_timer").tags("address", "addr1").timer();
assertThat(t).isNull();
t = registry.find("my_timer").tags("address", "addr2").timer();
assertThat(t).isNull();
}
use of io.micrometer.core.instrument.Timer 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.Timer in project tutorials by eugenp.
the class MicrometerAtlasTest method givenTimer_whenEnrichWithTimescaleHistogram_thenTimeScaleDataCollected.
@Test
public void givenTimer_whenEnrichWithTimescaleHistogram_thenTimeScaleDataCollected() {
SimpleMeterRegistry registry = new SimpleMeterRegistry();
Timer timer = Timer.builder("timer").histogram(Histogram.linearTime(TimeUnit.MILLISECONDS, 0, 200, 3)).register(registry);
timer.record(1000, TimeUnit.MILLISECONDS);
timer.record(23, TimeUnit.MILLISECONDS);
timer.record(450, TimeUnit.MILLISECONDS);
timer.record(341, TimeUnit.MILLISECONDS);
timer.record(500, TimeUnit.MILLISECONDS);
Map<String, Integer> histograms = extractTagValueMap(registry, Type.Counter, 1.0);
assertThat(histograms, allOf(hasEntry("bucket=0.0", 0), hasEntry("bucket=2.0E8", 1), hasEntry("bucket=4.0E8", 1), hasEntry("bucket=Infinity", 3)));
}
use of io.micrometer.core.instrument.Timer in project micrometer by micrometer-metrics.
the class HistogramGaugesTest method snapshotRollsOverAfterEveryPublish.
@Test
void snapshotRollsOverAfterEveryPublish() {
MeterRegistry registry = new SimpleMeterRegistry();
Timer timer = Timer.builder("my.timer").sla(Duration.ofMillis(1)).register(registry);
HistogramGauges gauges = HistogramGauges.registerWithCommonFormat(timer, registry);
timer.record(1, TimeUnit.MILLISECONDS);
assertThat(registry.get("my.timer.histogram").gauge().value()).isEqualTo(1);
assertThat(gauges.polledGaugesLatch.getCount()).isEqualTo(0);
}
Aggregations