### Question:
FastForwardReporter implements Managed { @VisibleForTesting void reportOnce() { additionalAttributes = additionalAttributesSupplier.get(); if (additionalAttributes == null) { additionalAttributes = Collections.emptyMap(); } metricRegistry.getGauges().forEach(this::reportGauge); metricRegistry.getCounters().forEach(this::reportCounter); metricRegistry.getMeters().forEach(this::reportMeter); metricRegistry.getHistograms().forEach(this::reportHistogram); metricRegistry.getTimers().forEach(this::reportTimer); } FastForwardReporter(FastForward fastForward, MetricRegistry metricRegistry,
                      ScheduledExecutorService executor, String key,
                      long interval, TimeUnit intervalTimeUnit,
                      Supplier<Map<String, String>> additionalAttributes); static FastForwardReporter create(
      MetricRegistry registry,
      Optional<HostAndPort> address,
      String metricKey,
      int intervalSeconds); static FastForwardReporter create(
      MetricRegistry registry,
      Optional<HostAndPort> address,
      String metricKey, int intervalSeconds,
      Supplier<Map<String, String>> additionalAttributes); @Override void start(); @Override void stop();  }### Answer:
@Test public void testMeter() throws Exception { metricRegistry.meter("the-meter"); reporter.reportOnce(); verifyMeterStats("the-meter", "meter"); }
@Test public void testHistogram() throws Exception { final Histogram h = metricRegistry.histogram("histo.gram"); IntStream.range(1, 10).forEach(h::update); reporter.reportOnce(); verifyHistogramStats("histo.gram", "histogram"); }
@Test public void testTimer() throws Exception { metricRegistry.timer("blah-timer"); reporter.reportOnce(); verifyHistogramStats("blah-timer", "timer"); verifyMeterStats("blah-timer", "timer"); }