Package com.codahale.metrics.graphite
Class PickledGraphite
- java.lang.Object
-
- com.codahale.metrics.graphite.PickledGraphite
-
- All Implemented Interfaces:
GraphiteSender
,Closeable
,AutoCloseable
public class PickledGraphite extends Object implements GraphiteSender
A client to a Carbon server that sends all metrics after they have been pickled in configurable sized batches
-
-
Constructor Summary
Constructors Constructor Description PickledGraphite(String hostname, int port)
Creates a new client which connects to the given address using the defaultSocketFactory
.PickledGraphite(String hostname, int port, int batchSize)
Creates a new client which connects to the given address using the defaultSocketFactory
.PickledGraphite(String hostname, int port, SocketFactory socketFactory, int batchSize)
Creates a new client which connects to the given address and socket factory.PickledGraphite(String hostname, int port, SocketFactory socketFactory, Charset charset, int batchSize)
Creates a new client which connects to the given address and socket factory using the given character set.PickledGraphite(InetSocketAddress address)
Creates a new client which connects to the given address using the defaultSocketFactory
.PickledGraphite(InetSocketAddress address, int batchSize)
Creates a new client which connects to the given address using the defaultSocketFactory
.PickledGraphite(InetSocketAddress address, SocketFactory socketFactory, int batchSize)
Creates a new client which connects to the given address and socket factory.PickledGraphite(InetSocketAddress address, SocketFactory socketFactory, Charset charset, int batchSize)
Creates a new client which connects to the given address and socket factory using the given character set.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
connect()
Connects to the server.void
flush()
Flushes buffer, if applicableint
getFailures()
Returns the number of failed writes to the server.boolean
isConnected()
Returns true if ready to send dataprotected String
sanitize(String s)
void
send(String name, String value, long timestamp)
Convert the metric to a python tuple of the form:
-
-
-
Constructor Detail
-
PickledGraphite
public PickledGraphite(InetSocketAddress address)
Creates a new client which connects to the given address using the defaultSocketFactory
. This defaults to a batchSize of 100- Parameters:
address
- the address of the Carbon server
-
PickledGraphite
public PickledGraphite(InetSocketAddress address, int batchSize)
Creates a new client which connects to the given address using the defaultSocketFactory
.- Parameters:
address
- the address of the Carbon serverbatchSize
- how many metrics are bundled into a single pickle request to graphite
-
PickledGraphite
public PickledGraphite(InetSocketAddress address, SocketFactory socketFactory, int batchSize)
Creates a new client which connects to the given address and socket factory.- Parameters:
address
- the address of the Carbon serversocketFactory
- the socket factorybatchSize
- how many metrics are bundled into a single pickle request to graphite
-
PickledGraphite
public PickledGraphite(InetSocketAddress address, SocketFactory socketFactory, Charset charset, int batchSize)
Creates a new client which connects to the given address and socket factory using the given character set.- Parameters:
address
- the address of the Carbon serversocketFactory
- the socket factorycharset
- the character set used by the serverbatchSize
- how many metrics are bundled into a single pickle request to graphite
-
PickledGraphite
public PickledGraphite(String hostname, int port)
Creates a new client which connects to the given address using the defaultSocketFactory
. This defaults to a batchSize of 100- Parameters:
hostname
- the hostname of the Carbon serverport
- the port of the Carbon server
-
PickledGraphite
public PickledGraphite(String hostname, int port, int batchSize)
Creates a new client which connects to the given address using the defaultSocketFactory
.- Parameters:
hostname
- the hostname of the Carbon serverport
- the port of the Carbon serverbatchSize
- how many metrics are bundled into a single pickle request to graphite
-
PickledGraphite
public PickledGraphite(String hostname, int port, SocketFactory socketFactory, int batchSize)
Creates a new client which connects to the given address and socket factory.- Parameters:
hostname
- the hostname of the Carbon serverport
- the port of the Carbon serversocketFactory
- the socket factorybatchSize
- how many metrics are bundled into a single pickle request to graphite
-
PickledGraphite
public PickledGraphite(String hostname, int port, SocketFactory socketFactory, Charset charset, int batchSize)
Creates a new client which connects to the given address and socket factory using the given character set.- Parameters:
hostname
- the hostname of the Carbon serverport
- the port of the Carbon serversocketFactory
- the socket factorycharset
- the character set used by the serverbatchSize
- how many metrics are bundled into a single pickle request to graphite
-
-
Method Detail
-
connect
public void connect() throws IllegalStateException, IOException
Description copied from interface:GraphiteSender
Connects to the server.- Specified by:
connect
in interfaceGraphiteSender
- Throws:
IllegalStateException
- if the client is already connectedIOException
- if there is an error connecting
-
isConnected
public boolean isConnected()
Description copied from interface:GraphiteSender
Returns true if ready to send data- Specified by:
isConnected
in interfaceGraphiteSender
-
send
public void send(String name, String value, long timestamp) throws IOException
Convert the metric to a python tuple of the form:(timestamp, (name, value))
And add it to the list of metrics. If we reach the batch size, write them out.
- Specified by:
send
in interfaceGraphiteSender
- Parameters:
name
- the name of the metricvalue
- the value of the metrictimestamp
- the timestamp of the metric- Throws:
IOException
- if there was an error sending the metric
-
flush
public void flush() throws IOException
Description copied from interface:GraphiteSender
Flushes buffer, if applicable- Specified by:
flush
in interfaceGraphiteSender
- Throws:
IOException
- if there was an error during flushing metrics to the socket
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getFailures
public int getFailures()
Description copied from interface:GraphiteSender
Returns the number of failed writes to the server.- Specified by:
getFailures
in interfaceGraphiteSender
- Returns:
- the number of failed writes to the server
-
-