add stackprof

This commit is contained in:
Konstantin Haase 2015-05-11 17:13:21 +02:00
parent 2f19ba3357
commit ea23fd3b7e
4 changed files with 11 additions and 0 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ vendor
config/skylight.yml config/skylight.yml
.coverage .coverage
*.env *.env
tmp

View File

@ -30,6 +30,7 @@ gem 'metriks-librato_metrics', github: 'eric/metriks-librato_metrics'
gem 'micro_migrations' gem 'micro_migrations'
gem 'simplecov' gem 'simplecov'
gem 'skylight', '~> 0.6.0.beta.1' gem 'skylight', '~> 0.6.0.beta.1'
gem 'stackprof'
group :test do group :test do
gem 'rspec', '~> 2.13' gem 'rspec', '~> 2.13'

View File

@ -305,6 +305,7 @@ GEM
multi_json (~> 1.0) multi_json (~> 1.0)
rack (~> 1.0) rack (~> 1.0)
tilt (~> 1.1, != 1.3.0) tilt (~> 1.1, != 1.3.0)
stackprof (0.2.7)
thin (1.6.3) thin (1.6.3)
daemons (~> 1.0, >= 1.0.9) daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0) eventmachine (~> 1.0)
@ -364,6 +365,7 @@ DEPENDENCIES
sinatra sinatra
sinatra-contrib sinatra-contrib
skylight (~> 0.6.0.beta.1) skylight (~> 0.6.0.beta.1)
stackprof
travis-api! travis-api!
travis-config (~> 0.1.0) travis-config (~> 0.1.0)
travis-core! travis-core!

View File

@ -79,6 +79,13 @@ module Travis::Api
def initialize def initialize
@app = Rack::Builder.app do @app = Rack::Builder.app do
if ENV['STACKPROF']
require 'stackprof'
puts "Setting up stack profiling."
use StackProf::Middleware, enabled: true, save_every: 1, mode: :object
end
extend StackInstrumentation extend StackInstrumentation
use Travis::Api::App::Middleware::Skylight use Travis::Api::App::Middleware::Skylight
use(Rack::Config) { |env| env['metriks.request.start'] ||= Time.now.utc } use(Rack::Config) { |env| env['metriks.request.start'] ||= Time.now.utc }