Scott Lanning > Net-Graphite-0.14 > Net::Graphite

Download:
Net-Graphite-0.14.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.14   Source  

NAME ^

Net::Graphite - Interface to Graphite

SYNOPSIS ^

  use Net::Graphite;
  my $graphite = Net::Graphite->new(
      # except for host, these hopefully have reasonable defaults, so are optional
      host => '127.0.0.1',
      port => 2003,
      trace => 0,            # if true, copy what's sent to STDERR
      proto => 'tcp',        # can be 'udp'
      timeout => 1,          # timeout of socket connect in seconds
      fire_and_forget => 0,  # if true, ignore sending errors

      path => 'foo.bar.baz', # optional, use when sending single values
  );

  # send a single value,
  # need to set path in the call to new
  # or call $graphite->path('some.path') beforehand
  $graphite->send(6);        # default time is "now"

 -OR-

  # send a metric with named parameters
  $graphite->send(
      path => 'foo.bar.baz',
      value => 6,
      time => time(),        # time defaults to "now"
  );

 -OR-

  # send text with one line per metric, following the plaintext protocol
  $graphite->send(data => $string_with_one_line_per_metric);

 -OR-

  # send a data structure,
  # here using the default transformer for Hash of Hash: epoch => key => key .... => value
  $graphite->send(data => $hash);

  # example of hash structure:
  1234567890 => {
      foo => {
          bar => {
              db1 => 3,
              db2 => 7,
              db3 => 2,
              ....
          },
          baz => 42,
      },
  },
  would be:
  foo.bar.db1 = 3
  foo.bar.db2 = 7
  foo.bar.db3 = 2
  foo.baz = 42

  # send a data structure, providing your own plaintext transformer
  # (the callback's only arg is the data structure, return a text string one metric on each line)
  $graphite->send(data => $whatever, transformer => \&make_whatever_into_plaintext);

DESCRIPTION ^

Interface to Graphite which doesn't depend on AnyEvent.

INSTANCE METHODS ^

close

Explicitly close the socket to the graphite server. Not normally needed, because the socket will close when the $graphite object goes out of scope.

connect

Get an open a socket to the graphite server, either the currently connected one or, if not already connected, a new one. Not normally needed.

path

Set the default path (corresponds to 'path' argument to new), for use when sending single values.

send

Normally all you need to use. See the SYNOPSIS. (FIXME)

transformer

If you pass a 'data' argument to send, use this coderef to transform from the data structure to plaintext. The coderef receives the data structure as its only parameter. There are default transformers for certain reftypes.

SEE ALSO ^

AnyEvent::Graphite

http://graphite.readthedocs.org/

AUTHOR ^

Scott Lanning <slanning@cpan.org>

syntax highlighting: