Sha256: bc3210a73a8b0b34b28e36b90189147f5807e203cd6451c530db5e645eca522a

Contents?: true

Size: 927 Bytes

Versions: 30

Compression:

Stored size: 927 Bytes

Contents

module Pliny::Extensions
  module Instruments
    def self.registered(app)
      app.before do
        @request_start = Time.now
        Pliny.log(
          instrumentation: true,
          at:              "start",
          method:          request.request_method,
          path:            request.path_info,
        )
      end

      app.after do
        Pliny.log(
          instrumentation: true,
          at:              "finish",
          method:          request.request_method,
          path:            request.path_info,
          route_signature: route_signature,
          status:          status,
          elapsed:         (Time.now - @request_start).to_f
        )
      end

      app.helpers do
        def route_signature
          env["ROUTE_SIGNATURE"]
        end
      end
    end

    def route(verb, path, *)
      condition { env["ROUTE_SIGNATURE"] = path.to_s }
      super
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
pliny-0.3.0 lib/pliny/extensions/instruments.rb
pliny-0.2.1 lib/pliny/extensions/instruments.rb
pliny-0.2.0 lib/pliny/extensions/instruments.rb
pliny-0.1.0 lib/pliny/extensions/instruments.rb
pliny-0.0.4 lib/pliny/extensions/instruments.rb
pliny-0.0.3 lib/pliny/extensions/instruments.rb
pliny-0.0.1 lib/pliny/extensions/instruments.rb
pliny-0.0.1.pre3 lib/pliny/extensions/instruments.rb
pliny-0.0.1.pre2 lib/pliny/extensions/instruments.rb
pliny-0.0.1.pre lib/pliny/extensions/instruments.rb