Class: LogStash::Outputs::MetricCatcher
- Defined in:
- lib/logstash/outputs/metriccatcher.rb
Overview
This output ships metrics to MetricCatcher, allowing you to utilize Coda Hale's Metrics.
More info on MetricCatcher: https://github.com/clearspring/MetricCatcher
At Clearspring, we use it to count the response codes from Apache logs: metriccatcher { host => "localhost" port => "1420" type => "apache-access" fields => [ "response" ] meter => [ "%host.apache.response.%response", "1" ] }
Constant Summary
Constants included from Config::Mixin
Instance Attribute Summary
Attributes included from Config::Mixin
Attributes inherited from Plugin
Instance Method Summary collapse
Methods inherited from Base
#handle, #handle_worker, #initialize, #worker_setup, #workers_not_supported
Methods included from Config::Mixin
Methods inherited from Plugin
#eql?, #finished, #finished?, #hash, #initialize, #inspect, lookup, #reload, #running?, #shutdown, #teardown, #terminating?, #to_s
Constructor Details
This class inherits a constructor from LogStash::Outputs::Base
Instance Method Details
#receive(event) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/logstash/outputs/metriccatcher.rb', line 85 def receive(event) return unless output?(event) @@metric_types.each do |metric_type| if instance_variable_defined?("@#{metric_type}") instance_variable_get("@#{metric_type}").each do |metric_name, metric_value| = [{ "name" => event.sprintf(metric_name), "type" => event.sprintf(metric_type), "value" => event.sprintf(metric_value).to_f, "timestamp" => event.sprintf("%{+%s}.") + Time.now.usec.to_s }] @socket.send(.to_json, 0, @host, @port) end # instance_variable_get("@#{metric_type}").each_slice end # if end # @metric_types.each end |
#register ⇒ Object
80 81 82 |
# File 'lib/logstash/outputs/metriccatcher.rb', line 80 def register @socket = UDPSocket.new end |