travis-api/lib/travis/api/app/middleware/skylight/actual.rb
2015-01-14 20:14:21 +01:00

27 lines
800 B
Ruby

require 'travis/api/app'
require 'skylight'
require 'skylight/probes/tilt'
require 'skylight/probes/redis'
class Travis::Api::App
class Middleware
class Skylight < Middleware
set(:setup) { ::Skylight.start! }
use ::Skylight::Middleware
after do
instrumenter = ::Skylight::Instrumenter.instance
trace = instrumenter.current_trace if instrumenter
trace.endpoint = "#{request.request_method} #{endpoint || '???'}" if trace
end
def endpoint
return @endpoint if defined? @endpoint and @endpoint
return unless headers['X-Pattern'].present? and headers['X-Endpoint'].present?
@endpoint = Object.const_get(headers['X-Endpoint']).prefix + headers['X-Pattern']
rescue NameError
end
end
end
end