类com.codahale.metrics.ganglia.GangliaReporter源码实例Demo

下面列出了怎么用com.codahale.metrics.ganglia.GangliaReporter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: rubix   文件: TestBookKeeperMetrics.java
/**
 * Verify that a Ganglia reporter is correctly registered when the configuration option is set.
 *
 * @throws IOException if an I/O error occurs while closing a reporter.
 */
@Test
public void testInitializeReporters_initializeGanglia() throws IOException
{
  CacheConfig.setMetricsReporters(conf, MetricsReporter.GANGLIA.name());

  try (final BookKeeperMetrics bookKeeperMetrics = new BookKeeperMetrics(conf, metrics)) {
    assertTrue(containsReporterType(bookKeeperMetrics.reporters, GangliaReporter.class));
  }
}
 
@Override
protected void configure() {
    bind(GMetric.class).toProvider(GMetricProvider.class);
    bind(GangliaReporter.class).toProvider(GangliaReporterProvider.class);

    addConfigBeans();
    addInitializer(MetricsGangliaReporterService.class);
}
 
@Override
public GangliaReporter get() {
    return GangliaReporter.forRegistry(metricRegistry)
            .prefixedWith(configuration.getPrefix())
            .convertRatesTo(configuration.getUnitRates())
            .convertDurationsTo(configuration.getUnitDurations())
            .withDMax(configuration.getDMax())
            .withTMax(configuration.getTMax())
            .filter(new RegexMetricFilter(configuration.getIncludeMetrics()))
            .build(gMetric);
}
 
@Test
public void get() throws Exception {
    final MetricsGangliaReporterConfiguration configuration = new MetricsGangliaReporterConfiguration();
    final GMetric graphiteSender = new GMetric("127.0.0.1", 12345, null, 23);
    final MetricRegistry metricRegistry = new MetricRegistry();
    final GangliaReporterProvider provider = new GangliaReporterProvider(configuration, graphiteSender, metricRegistry);

    final GangliaReporter reporter = provider.get();
    assertNotNull(reporter);
}
 
源代码5 项目: onos   文件: DefaultGangliaMetricsReporter.java
/**
 * Builds reporter with the given ganglia metric.
 *
 * @param gMetric ganglia metric
 * @return reporter
 */
private GangliaReporter buildReporter(GMetric gMetric) {
    MetricRegistry mr = metricsService.getMetricRegistry();

    return GangliaReporter.forRegistry(filter(mr))
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .build(gMetric);
}
 
源代码6 项目: rubix   文件: BookKeeperMetrics.java
/**
 * Initialize reporters for reporting metrics to desired services.
 */
protected void initializeReporters()
{
  final Iterable<String> metricsReporterNames = Splitter.on(",").trimResults().omitEmptyStrings().split(CacheConfig.getMetricsReporters(conf));

  final Set<MetricsReporter> metricsReporters = new HashSet<>();
  for (String reporterName : metricsReporterNames) {
    metricsReporters.add(MetricsReporter.valueOf(reporterName.toUpperCase()));
  }

  for (MetricsReporter reporter : metricsReporters) {
    switch (reporter) {
      case JMX:
        final JmxReporter jmxReporter = JmxReporter.forRegistry(metrics)
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(metricsFilter)
            .build();

        log.debug("Reporting metrics to JMX");
        jmxReporter.start();
        reporters.add(jmxReporter);
        break;
      case STATSD:
        if (!CacheConfig.isOnMaster(conf)) {
          CacheConfig.setStatsDMetricsHost(conf, ClusterUtil.getMasterHostname(conf));
        }
        final StatsDReporter statsDReporter = StatsDReporter.forRegistry(metrics)
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)
            .filter(metricsFilter)
            .build(CacheConfig.getStatsDMetricsHost(conf), CacheConfig.getStatsDMetricsPort(conf));

        log.debug(String.format("Reporting metrics to StatsD [%s:%d]", CacheConfig.getStatsDMetricsHost(conf), CacheConfig.getStatsDMetricsPort(conf)));
        statsDReporter.start(CacheConfig.getMetricsReportingInterval(conf), TimeUnit.MILLISECONDS);
        reporters.add(statsDReporter);
        break;
      case GANGLIA:
        if (!CacheConfig.isOnMaster(conf)) {
          CacheConfig.setGangliaMetricsHost(conf, ClusterUtil.getMasterHostname(conf));
        }
        log.debug(String.format("Reporting metrics to Ganglia [%s:%s]", CacheConfig.getGangliaMetricsHost(conf), CacheConfig.getGangliaMetricsPort(conf)));
        final GMetric ganglia = new GMetric(CacheConfig.getGangliaMetricsHost(conf), CacheConfig.getGangliaMetricsPort(conf), GMetric.UDPAddressingMode.MULTICAST, 1);
        final GangliaReporter gangliaReporter = GangliaReporter.forRegistry(metrics)
                .convertRatesTo(TimeUnit.SECONDS)
                .convertDurationsTo(TimeUnit.MILLISECONDS)
                .filter(metricsFilter)
                .build(ganglia);
        gangliaReporter.start(CacheConfig.getMetricsReportingInterval(conf), TimeUnit.MILLISECONDS);
        reporters.add(gangliaReporter);
        break;
    }
  }
}
 
@Inject
public MetricsGangliaReporterService(GangliaReporter gangliaReporter,
                                     MetricsGangliaReporterConfiguration configuration) {
    this.gangliaReporter = requireNonNull(gangliaReporter);
    this.configuration = requireNonNull(configuration);
}
 
 类所在包
 类方法
 同包方法