@Override
    @SuppressWarnings("rawtypes")
    public void report(SortedMap<String, Gauge> gauges,
                       SortedMap<String, Counter> counters,
                       SortedMap<String, Histogram> histograms,
                       SortedMap<String, Meter> meters,
                       SortedMap<String, Timer> timers) {
        if (loggerProxy.isEnabled(marker)) {
            StringBuilder b = new StringBuilder();
            for (Entry<String, Gauge> entry : gauges.entrySet()) {
                logGauge(b, entry.getKey(), entry.getValue());
            }

            for (Entry<String, Counter> entry : counters.entrySet()) {
                logCounter(b, entry.getKey(), entry.getValue());
            }

            for (Entry<String, Histogram> entry : histograms.entrySet()) {
                logHistogram(b, entry.getKey(), entry.getValue());
            }

            for (Entry<String, Meter> entry : meters.entrySet()) {
                logMeter(b, entry.getKey(), entry.getValue());
            }

            for (Entry<String, Timer> entry : timers.entrySet()) {
                logTimer(b, entry.getKey(), entry.getValue());
            }
        }
    }
@Test
    public void reportsMeterValuesDefault() {
        final Meter meter = meter();
        when(logger.isInfoEnabled(marker)).thenReturn(true);

        infoReporter().report(map(),
                map(),
                map(),
                map("test.meter", meter),
                map());

        verify(logger).info(marker, "type=METER, name=prefix.test.meter, count=1, m1_rate=3.0, m5_rate=4.0, " +
                "m15_rate=5.0, mean_rate=2.0, rate_unit=events/second");
    }