com.yammer.metrics.reporting
Class GraphiteReporter

java.lang.Object
  extended by com.yammer.metrics.reporting.AbstractReporter
      extended by com.yammer.metrics.reporting.AbstractPollingReporter
          extended by com.yammer.metrics.reporting.GraphiteReporter
All Implemented Interfaces:
MetricsProcessor<Long>, Runnable

public class GraphiteReporter
extends AbstractPollingReporter
implements MetricsProcessor<Long>

A simple reporter which sends out application metrics to a Graphite server periodically.


Field Summary
 boolean printVMMetrics
           
 
Fields inherited from class com.yammer.metrics.reporting.AbstractReporter
metricsRegistry
 
Constructor Summary
GraphiteReporter(MetricsRegistry metricsRegistry, String host, int port, String prefix)
          Creates a new GraphiteReporter.
GraphiteReporter(MetricsRegistry metricsRegistry, String prefix, MetricPredicate predicate, SocketProvider socketProvider, Clock clock)
          Creates a new GraphiteReporter.
GraphiteReporter(String host, int port, String prefix)
          Creates a new GraphiteReporter.
 
Method Summary
static void enable(long period, TimeUnit unit, String host, int port)
          Enables the graphite reporter to send data for the default metrics registry to graphite server with the specified period.
static void enable(long period, TimeUnit unit, String host, int port, String prefix)
          Enables the graphite reporter to send data to graphite server with the specified period.
static void enable(MetricsRegistry metricsRegistry, long period, TimeUnit unit, String host, int port)
          Enables the graphite reporter to send data for the given metrics registry to graphite server with the specified period.
static void enable(MetricsRegistry metricsRegistry, long period, TimeUnit unit, String host, int port, String prefix)
          Enables the graphite reporter to send data to graphite server with the specified period.
static void enable(MetricsRegistry metricsRegistry, long period, TimeUnit unit, String host, int port, String prefix, MetricPredicate predicate)
          Enables the graphite reporter to send data to graphite server with the specified period.
 void processCounter(MetricName name, CounterMetric counter, Long epoch)
           
 void processGauge(MetricName name, GaugeMetric<?> gauge, Long epoch)
           
 void processHistogram(MetricName name, HistogramMetric histogram, Long epoch)
           
 void processMeter(MetricName name, Metered meter, Long epoch)
           
 void processTimer(MetricName name, TimerMetric timer, Long epoch)
           
 void run()
           
 
Methods inherited from class com.yammer.metrics.reporting.AbstractPollingReporter
shutdown, shutdown, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

printVMMetrics

public boolean printVMMetrics
Constructor Detail

GraphiteReporter

public GraphiteReporter(String host,
                        int port,
                        String prefix)
                 throws IOException
Creates a new GraphiteReporter.

Parameters:
host - is graphite server
port - is port on which graphite server is running
prefix - is prepended to all names reported to graphite
Throws:
IOException - if there is an error connecting to the Graphite server

GraphiteReporter

public GraphiteReporter(MetricsRegistry metricsRegistry,
                        String host,
                        int port,
                        String prefix)
                 throws IOException
Creates a new GraphiteReporter.

Parameters:
metricsRegistry - the metrics registry
host - is graphite server
port - is port on which graphite server is running
prefix - is prepended to all names reported to graphite
Throws:
IOException - if there is an error connecting to the Graphite server

GraphiteReporter

public GraphiteReporter(MetricsRegistry metricsRegistry,
                        String prefix,
                        MetricPredicate predicate,
                        SocketProvider socketProvider,
                        Clock clock)
                 throws IOException
Creates a new GraphiteReporter.

Parameters:
metricsRegistry - the metrics registry
prefix - is prepended to all names reported to graphite
predicate - filters metrics to be reported
Throws:
IOException - if there is an error connecting to the Graphite server
Method Detail

enable

public static void enable(long period,
                          TimeUnit unit,
                          String host,
                          int port)
Enables the graphite reporter to send data for the default metrics registry to graphite server with the specified period.

Parameters:
period - the period between successive outputs
unit - the time unit of period
host - the host name of graphite server (carbon-cache agent)
port - the port number on which the graphite server is listening

enable

public static void enable(MetricsRegistry metricsRegistry,
                          long period,
                          TimeUnit unit,
                          String host,
                          int port)
Enables the graphite reporter to send data for the given metrics registry to graphite server with the specified period.

Parameters:
metricsRegistry - the metrics registry
period - the period between successive outputs
unit - the time unit of period
host - the host name of graphite server (carbon-cache agent)
port - the port number on which the graphite server is listening

enable

public static void enable(long period,
                          TimeUnit unit,
                          String host,
                          int port,
                          String prefix)
Enables the graphite reporter to send data to graphite server with the specified period.

Parameters:
period - the period between successive outputs
unit - the time unit of period
host - the host name of graphite server (carbon-cache agent)
port - the port number on which the graphite server is listening
prefix - the string which is prepended to all metric names

enable

public static void enable(MetricsRegistry metricsRegistry,
                          long period,
                          TimeUnit unit,
                          String host,
                          int port,
                          String prefix)
Enables the graphite reporter to send data to graphite server with the specified period.

Parameters:
metricsRegistry - the metrics registry
period - the period between successive outputs
unit - the time unit of period
host - the host name of graphite server (carbon-cache agent)
port - the port number on which the graphite server is listening
prefix - the string which is prepended to all metric names

enable

public static void enable(MetricsRegistry metricsRegistry,
                          long period,
                          TimeUnit unit,
                          String host,
                          int port,
                          String prefix,
                          MetricPredicate predicate)
Enables the graphite reporter to send data to graphite server with the specified period.

Parameters:
metricsRegistry - the metrics registry
period - the period between successive outputs
unit - the time unit of period
host - the host name of graphite server (carbon-cache agent)
port - the port number on which the graphite server is listening
prefix - the string which is prepended to all metric names
predicate - filters metrics to be reported

run

public void run()
Specified by:
run in interface Runnable

processGauge

public void processGauge(MetricName name,
                         GaugeMetric<?> gauge,
                         Long epoch)
                  throws IOException
Specified by:
processGauge in interface MetricsProcessor<Long>
Throws:
IOException

processCounter

public void processCounter(MetricName name,
                           CounterMetric counter,
                           Long epoch)
                    throws IOException
Specified by:
processCounter in interface MetricsProcessor<Long>
Throws:
IOException

processMeter

public void processMeter(MetricName name,
                         Metered meter,
                         Long epoch)
                  throws IOException
Specified by:
processMeter in interface MetricsProcessor<Long>
Throws:
IOException

processHistogram

public void processHistogram(MetricName name,
                             HistogramMetric histogram,
                             Long epoch)
                      throws IOException
Specified by:
processHistogram in interface MetricsProcessor<Long>
Throws:
IOException

processTimer

public void processTimer(MetricName name,
                         TimerMetric timer,
                         Long epoch)
                  throws IOException
Specified by:
processTimer in interface MetricsProcessor<Long>
Throws:
IOException


Copyright © 2011. All Rights Reserved.