Sha256: c1c932e9e0df854998fce098fd633306cb77c8ad3cd5411ae9f65d0c5db279fe

Contents?: true

Size: 766 Bytes

Versions: 24

Compression:

Stored size: 766 Bytes

Contents

module Pliny::Middleware
  class Instruments
    def initialize(app)
      @app = app
    end

    def call(env)
      start = Time.now

      data = {
        instrumentation: true,
        method:          env["REQUEST_METHOD"],
        path:            env["PATH_INFO"]
      }

      Pliny.log(data.merge(at: "start"))

      status, headers, response = @app.call(env)

      if route = env["sinatra.route"]
        data.merge!(route_signature: route.split(" ").last)
      end

      elapsed = (Time.now - start).to_f
      Pliny.log(data.merge(
        at:              "finish",
        status:          status,
        length:          headers["Content-Length"],
        elapsed:         elapsed
      ))

      [status, headers, response]
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
pliny-1.2.0 lib/pliny/middleware/instruments.rb
pliny-1.1.0 lib/pliny/middleware/instruments.rb
pliny-1.0.0 lib/pliny/middleware/instruments.rb
pliny-0.32.0 lib/pliny/middleware/instruments.rb
pliny-0.31.0 lib/pliny/middleware/instruments.rb
pliny-0.30.1 lib/pliny/middleware/instruments.rb
pliny-0.30.0 lib/pliny/middleware/instruments.rb
pliny-0.29.0 lib/pliny/middleware/instruments.rb
pliny-0.28.0 lib/pliny/middleware/instruments.rb
pliny-0.27.1 lib/pliny/middleware/instruments.rb
pliny-0.27.0 lib/pliny/middleware/instruments.rb
pliny-0.26.2 lib/pliny/middleware/instruments.rb
pliny-0.26.1 lib/pliny/middleware/instruments.rb
pliny-0.26.0 lib/pliny/middleware/instruments.rb
pliny-0.25.1 lib/pliny/middleware/instruments.rb
pliny-0.25.0 lib/pliny/middleware/instruments.rb
pliny-0.24.0 lib/pliny/middleware/instruments.rb
pliny-0.23.0 lib/pliny/middleware/instruments.rb
pliny-0.22.0 lib/pliny/middleware/instruments.rb
pliny-0.21.0 lib/pliny/middleware/instruments.rb