Class: Rails::Middleware::Datadog
- Inherits:
-
Object
- Object
- Rails::Middleware::Datadog
- Defined in:
- lib/rails/middleware/datadog.rb
Direct Known Subclasses
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, opts = {}) ⇒ Datadog
constructor
A new instance of Datadog.
Constructor Details
#initialize(app, opts = {}) ⇒ Datadog
Returns a new instance of Datadog.
4 5 6 7 8 9 10 11 12 |
# File 'lib/rails/middleware/datadog.rb', line 4 def initialize(app, opts={}) @app = app statsd_host = opts[:statsd_host] || "localhost" statsd_port = opts[:statsd_port] || 8125 namespace = opts[:statsd_prefix] || nil @statsd = opts[:statsd] || Ruby::Reporters::Datadog.new(opts) end |
Instance Method Details
#call(env) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/rails/middleware/datadog.rb', line 14 def call(env) start_request_time = Time.now status, header, body = @app.call(env) end_request_time = Time.now report_to_statsd(start_request_time, end_request_time, env, status) [status, header, body] end |