class LogStash::Inputs::Graphite

Receive graphite metrics. This plugin understands the text-based graphite carbon protocol. Both 'N' and specific-timestamp forms are supported, example:

mysql.slow_query.count 204 N
haproxy.live_backends 7 1364608909

'N' means 'now' for a timestamp. This plugin also supports having the time specified in the metric payload:

For every metric received from a client, a single event will be emitted with the metric name as the field (like 'mysql.slow_query.count') and the metric value as the field's value.

Constants

ISO8601_STRFTIME

Public Instance Methods

<<(event) click to toggle source

This is a silly hack to make the superclass (Tcp) give us a finished event so that we can parse it accordingly.

# File lib/logstash/inputs/graphite.rb, line 31
def <<(event)
  name, value, time = event["message"].split(" ")
  event[name] = value.to_f

  if time != "N"
    event["@timestamp"] = Time.at(time.to_i).gmtime
  end

  @queue << event
end
run(output_queue) click to toggle source
Calls superclass method LogStash::Inputs::Tcp#run
# File lib/logstash/inputs/graphite.rb, line 24
def run(output_queue)
  @queue = output_queue
  super(self)
end