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:
- source,ruby
-
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.
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.get("message").split(" ") event.set(name, value.to_f) if time != "N" event.timestamp = LogStash::Timestamp.at(time.to_i) end @queue << event end
run(output_queue)
click to toggle source
Calls superclass method
# File lib/logstash/inputs/graphite.rb, line 22 def run(output_queue) @queue = output_queue # pass self as output_queue to super Tcp#run - this is a hack so that the << calls in # Tcp will actually call the << method defined below. This is twisted :P super(self) end