class Pliny::Middleware::Metrics
Public Class Methods
new(app)
click to toggle source
# File lib/pliny/middleware/metrics.rb, line 3 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/pliny/middleware/metrics.rb, line 7 def call(env) start = Time.now Pliny::Metrics.count("requests") begin status, headers, body = @app.call(env) rescue status = 500 raise ensure elapsed = (Time.now - start).to_f Pliny::Metrics.measure("requests.latency", value: elapsed) status_level = "#{status/100}xx" Pliny::Metrics.count("requests.status.#{status_level}") end [status, headers, body] end