NAME

    Net::StatsD::Client::Telegraf - Send data to the statsd plugin of
    telegraf, with support for influxDB's tagging system

SYNOPSIS

      use Net::Statsd::Client::Telegraf;
      my $stats = Net::Statsd::Client->new(prefix => "service.frobnitzer.", tags => { job => "my_program" } );
      $stats->increment("requests", tags => { foo => "bar" }, sample_rate => 0.2 );
      my $timer = $stats->timer("request_duration");
      # ... do something expensive ...
      my $elapsed_ms = $timer->finish;

DESCRIPTION

    Net::StatsD::Client::Telegraf is a tiny layer on top of
    Net::StatsD::Client to add support for tags as implemented by the
    statsd collector of telegraf. Defaults tags can be passed as a hashref
    in the tags attributes, each methods also accept a tags arguments to
    add tags for the current statsd call

ATTRIBUTES

    Net::Statsd::Client::Telegraf takes the exact same parameters as
    Net::StatsD::Client, plus an additionnal tags, for the documentation of
    the other attribute of the constructor, please refer to
    Net::StatsD::Client

 tags

    Optional: A hashref containing key values to be used as tags in the
    metrics name, as accepted by influxDB and telegraf

METHODS

    Being a layer on top of Net::Statsd::Client,
    Net::Statsd::Client::Telegraf exposes the exact same methods, the only
    difference begin in the parameters, for all of its methods,
    Net::Statsd::Client accepts an optional parameter sample_rate, instead
    Net::Statsd::Client::Telegraf accept a lsit of options in key value
    format The key being sample_rate and tags.

      $stats->increment(
        "metric_name",
        tags => {
          name1 => "value1",
          name2 => "value2",
        },
        sample_rate => 0.2
     );

 $stats->increment($metric, [%options] )

    Increment the named counter metric.

 $stats->decrement($metric, [%options] )

    Decrement the named counter metric.

 $stats->update($metric, $count, [%options] )

    Add $count to the value of the named counter metric.

 $stats->timing_ms($metric, $time, [%options] )

    Record an event of duration $time milliseconds for the named timing
    metric.

 $stats->timer($metric, [%options] )

    Returns a Net::Statsd::Client::Timer object for the named timing
    metric. The timer begins when you call this method, and ends when you
    call finish on the timer. Calling finish on the timer returns the
    elapsed time in milliseconds.

 $stats->gauge($metric, $value, [%options] )

    Send a value for the named gauge metric. Instead of adding up like
    counters or producing a large number of quantiles like timings, gauges
    simply take the last value sent in any time period, and don't require
    scaling.

 $statsd->set_add($metric, $value, [%options] )

    Add a value to the named set metric. Sets count the number of *unique*
    values they see in each time period, letting you estimate, for example,
    the number of users using a site at a time by adding their userids to a
    set each time they load a page.

SEE ALSO

    This module is a tiny layer on top of Net::Stats::Client, to add the
    tags functionality

AUTHOR

    Pierre VIGIER <pierre.vigier@gmail.com>

COPYRIGHT

    Copyright 2018- Pierre VIGIER

LICENSE

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO

