Sha256: d5389ce099a3522d5d3602fd8740eddb13bf9e8dea69fade0520973de3a970db
Contents?: true
Size: 920 Bytes
Versions: 1
Compression:
Stored size: 920 Bytes
Contents
module Skylight class Middleware def self.new(app, config, *) return app unless config super end def initialize(app, config, instrumenter_class=Instrumenter) @app = app @config = config @instrumenter_class = instrumenter_class end def call(env) instrumenter.trace("Rack") do ActiveSupport::Notifications.instrument("app.rack.request") do @app.call(env) end end end private LOCK = Mutex.new def instrumenter return @instrumenter if defined?(@instrumenter) LOCK.synchronize do return @instrumeter if defined?(@instrumenter) @instrumenter = @instrumenter_class.start!(@config) return @instrumenter end rescue Exception @instrumenter = stub end def stub Class.new do def trace(*) yield end end.new end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
skylight-0.0.7 | lib/skylight/middleware.rb |