class GraphiteClient::EventReporter

Public Class Methods

new(graphite_server_events_url, opts={}) click to toggle source
# File lib/graphite_client/event_reporter.rb, line 7
def initialize(graphite_server_events_url, opts={})
  uri   = URI(graphite_server_events_url)
  @http = Net::HTTP.new(uri.host, uri.port)
  @req  = Net::HTTP::Post.new(uri.request_uri)

  @http.use_ssl = true if uri.scheme == 'https'

  if opts[:basic_auth]
    username = opts[:basic_auth][:username]
    password = opts[:basic_auth][:password]
    @req.basic_auth(username, password)
  end
end

Public Instance Methods

report(event={}) click to toggle source
# File lib/graphite_client/event_reporter.rb, line 21
def report(event={})
  event[:tags] = Array(event[:tags]).join(',')
  # data should be a string.
  event[:data] = event[:data].is_a?(String) ? event[:data] : event[:data].to_json
  @req.body = event.to_json
  @http.request(@req)
end