Package org.platformlayer.metrics.client.codahale

Source Code of org.platformlayer.metrics.client.codahale.JmxReporterProvider

package org.platformlayer.metrics.client.codahale;

import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;

import com.yammer.metrics.Metrics;
import com.yammer.metrics.core.MetricsRegistry;
import com.yammer.metrics.reporting.JmxReporter;

@Singleton
public class JmxReporterProvider implements Provider<JmxReporter> {
  private final MetricsRegistry metricsRegistry;

  @Inject
  public JmxReporterProvider(MetricsRegistry metricsRegistry) {
    this.metricsRegistry = metricsRegistry;
  }

  @Override
  public JmxReporter get() {
    if (metricsRegistry == Metrics.defaultRegistry()) {
      return JmxReporter.getDefault();
    }

    final JmxReporter reporter = new JmxReporter(metricsRegistry);
    reporter.start();
    return reporter;
  }
}
TOP

Related Classes of org.platformlayer.metrics.client.codahale.JmxReporterProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.