rack-perftools_profiler 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -32,15 +32,13 @@ For Rails 2, add the following to config/environment.rb
32
32
  require 'rack/perftools_profiler'
33
33
  config.middleware.use Rack::PerftoolsProfiler, :default_printer => 'gif'
34
34
 
35
- For Rails 3 (or any app using Bundler), add the following to your Gemfile
35
+ For Rails 3, add the following to your Gemfile
36
36
 
37
- gem 'rack-perftools_profiler', '~> 0.1', :require => 'rack/perftools_profiler'
37
+ gem 'rack-perftools_profiler', '~> 0.1', :require => 'rack/perftools_profiler'
38
38
 
39
- and make sure you pass the option
39
+ and add the following to config/application.rb
40
40
 
41
- :bundler => true
42
-
43
- when configuring the middleware.
41
+ config.middleware.use Rack::PerftoolsProfiler, :default_printer => 'gif', :bundler => true
44
42
 
45
43
  For Sinatra, call 'use' inside a configure block, like so:
46
44
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -77,10 +77,12 @@ module Rack::PerftoolsProfiler
77
77
  cmd = "pprof.rb #{args} #{PROFILING_DATA_FILE}"
78
78
  cmd = "bundle exec " + cmd if @bundler
79
79
  stdout, stderr, status = Dir.chdir(@gemfile_dir) { run(cmd) }
80
- if(status == 0)
81
- [printer, stdout]
82
- else
80
+ if status!=0
83
81
  raise ProfilingError.new("Running the command '#{cmd}' exited with status #{status}", stderr)
82
+ elsif stdout.length == 0 && stderr.length > 0
83
+ raise ProfilingError.new("Running the command '#{cmd}' failed to generate a file", stderr)
84
+ else
85
+ [printer, stdout]
84
86
  end
85
87
  else
86
88
  [:none, nil]
@@ -90,7 +92,8 @@ module Rack::PerftoolsProfiler
90
92
  private
91
93
 
92
94
  def run(command)
93
- out = err = pid = nil
95
+ out = err = ""
96
+ pid = nil
94
97
  status = Open4.popen4(command) do |pid, stdin, stdout, stderr|
95
98
  stdin.close
96
99
  pid = pid
@@ -405,7 +405,7 @@ class RackPerftoolsProfilerTest < Test::Unit::TestCase
405
405
 
406
406
  context "when in bundler mode" do
407
407
 
408
- should "call pprof.rb using 'bundle' command if bunder is set" do
408
+ should "call pprof.rb using 'bundle' command if bundler is set" do
409
409
  status = stub_everything(:exitstatus => 0)
410
410
  profiled_app = Rack::PerftoolsProfiler.new(@app, :bundler => true)
411
411
  Open4.expects(:popen4).with(regexp_matches(/^bundle exec pprof\.rb/)).returns(status)
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ben Brinckerhoff
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-21 00:00:00 -06:00
17
+ date: 2010-10-11 00:00:00 -06:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency