Module: Rack::Timeout::Rollbar
- Defined in:
- lib/rack/timeout/rollbar.rb
Overview
Groups timeout exceptions in rollbar by exception class, http method, and url.
Usage: after requiring rollbar (say, in your rollbar initializer file), call:
require "rack/timeout/rollbar"
This is somewhat experimental and very lightly tested.
Ruby 2.0 is required as we use ‘Module.prepend`.
Instance Method Summary collapse
Instance Method Details
#build_payload(level, message, exception, extra) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rack/timeout/rollbar.rb', line 14 def build_payload(level, , exception, extra) payload = super(level, , exception, extra) return payload unless exception.is_a?(::Rack::Timeout::ExceptionWithEnv) \ && payload.respond_to?(:[]) \ && payload.respond_to?(:[]=) data = payload["data"] return payload unless data.respond_to?(:[]=) request = ::Rack::Request.new(exception.env) payload = payload.dup data = data.dup payload["data"] = data data["fingerprint"] = [ exception.class.name, request.request_method, request.fullpath ].join(" ") return payload end |