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:
MetricProcessor<Long>, Runnable

public class GraphiteReporter
extends AbstractPollingReporter
implements MetricProcessor<Long>

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


Field Summary
 boolean printVMMetrics
           
 
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(MetricsRegistry metricsRegistry, String prefix, MetricPredicate predicate, SocketProvider socketProvider, Clock clock, VirtualMachineMetrics vm)
          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, Counter counter, Long epoch)
           
 void processGauge(MetricName name, Gauge<?> gauge, Long epoch)
           
 void processHistogram(MetricName name, Histogram histogram, Long epoch)
           
 void processMeter(MetricName name, Metered meter, Long epoch)
           
 void processTimer(MetricName name, Timer timer, Long epoch)
           
 void run()
           
 
Methods inherited from class com.yammer.metrics.reporting.AbstractPollingReporter
shutdown, shutdown, start
 
Methods inherited from class com.yammer.metrics.reporting.AbstractReporter
getMetricsRegistry
 
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
socketProvider - a SocketProvider instance
clock - a Clock instance
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,
                        VirtualMachineMetrics vm)
                 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
socketProvider - a SocketProvider instance
clock - a Clock instance
vm - a VirtualMachineMetrics instance
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
Specified by:
run in class AbstractPollingReporter

processGauge

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

processCounter

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

processMeter

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

processHistogram

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

processTimer

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


Copyright © 2012. All Rights Reserved.