class RailsRiemannMiddleware::Duration

Attributes

env[R]
event[R]
headers[R]
start_time[R]

Public Class Methods

new(event, env, start_time, options={}) click to toggle source
# File lib/rails_riemann_middleware/duration.rb, line 8
def initialize(event, env, start_time, options={})
  @event, @env, @start_time = event, env, start_time
  @headers = options.fetch(:headers, [])
end

Public Instance Methods

message() click to toggle source
# File lib/rails_riemann_middleware/duration.rb, line 17
def message
  end_time = Time.new
  duration = (end_time - start_time)
  msg = {
    :host        => env['HTTP_HOST'],
    :service     => "#{event.app_prefix} request duration".strip,
    :state       => 'info',
    :metric      => duration,
    :tags        => ["duration"],
    :description => Headers.new(env, headers).to_s
  }
  msg
end
send() click to toggle source
# File lib/rails_riemann_middleware/duration.rb, line 13
def send
  event << message
end