private MetricRegistry buildMetricRegistry() { metricRegistry = new MetricRegistry(); // set graphite reporter final MovieTimeConfig.GraphiteConfig graphiteConfig = configuration.getGraphite(); if (graphiteConfig.isActivate()) { final Graphite graphite = new Graphite(new InetSocketAddress(graphiteConfig.getHost(), graphiteConfig.getPort())); final GraphiteReporter graphiteReporter = GraphiteReporter.forRegistry(metricRegistry) .prefixedWith(graphiteConfig.getApiKey()) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .filter(MetricFilter.ALL) .build(graphite); graphiteReporter.start(1, TimeUnit.MINUTES); log.info("Metrics graphite reporter bootstrapped"); } else { log.info("Metrics reporter not running"); } return metricRegistry; }