@Override protected ConsoleReporter createInstance() { final ConsoleReporter.Builder reporter = ConsoleReporter.forRegistry(getMetricRegistry()); if (hasProperty(DURATION_UNIT)) { reporter.convertDurationsTo(getProperty(DURATION_UNIT, TimeUnit.class)); } if (hasProperty(RATE_UNIT)) { reporter.convertRatesTo(getProperty(RATE_UNIT, TimeUnit.class)); } reporter.filter(getMetricFilter()); if (hasProperty(CLOCK_REF)) { reporter.withClock(getPropertyRef(CLOCK_REF, Clock.class)); } if (hasProperty(OUTPUT_REF)) { reporter.outputTo(getPropertyRef(OUTPUT_REF, PrintStream.class)); } if (hasProperty(LOCALE)) { reporter.formattedFor(parseLocale(getProperty(LOCALE))); } if (hasProperty(TIMEZONE)) { reporter.formattedFor(TimeZone.getTimeZone(getProperty(TIMEZONE))); } return reporter.build(); }