### Question:
MicrometerMetricsReporter implements Runnable { public void registerMeterRegistry(MeterRegistry meterRegistry) { if (meterRegistry instanceof CompositeMeterRegistry) { return; } boolean added = meterRegistries.add(meterRegistry); if (added) { logger.info("Registering Micrometer MeterRegistry: {}", meterRegistry); scheduleReporting(); } } MicrometerMetricsReporter(ElasticApmTracer tracer); void registerMeterRegistry(MeterRegistry meterRegistry); @Override void run();  }### Answer:
@Test void testCounterReset() { MockClock clock = new MockClock(); meterRegistry = new SimpleMeterRegistry(new SimpleConfig() { @Override public CountingMode mode() { return CountingMode.STEP; } @Override public Duration step() { return Duration.ofSeconds(30); } @Override public String get(@Nonnull String key) { return null; } }, clock); metricsReporter.registerMeterRegistry(meterRegistry); meterRegistry.counter("counter").increment(); clock.addSeconds(30); assertThat(getSingleMetricSet().get("metricset").get("samples").get("counter").get("value").doubleValue()).isEqualTo(1); clock.addSeconds(30); assertThat(getSingleMetricSet().get("metricset").get("samples").get("counter").get("value").doubleValue()).isEqualTo(0); }