ruby-prof 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +14 -0
  3. data/README.rdoc +1 -1
  4. data/Rakefile +2 -3
  5. data/bin/ruby-prof +4 -4
  6. data/bin/ruby-prof-check-trace +45 -0
  7. data/doc/LICENSE.html +49 -88
  8. data/doc/README_rdoc.html +92 -106
  9. data/doc/Rack.html +47 -116
  10. data/doc/Rack/RubyProf.html +119 -174
  11. data/doc/RubyProf.html +184 -216
  12. data/doc/RubyProf/AbstractPrinter.html +131 -162
  13. data/doc/RubyProf/AggregateCallInfo.html +136 -166
  14. data/doc/RubyProf/CallInfo.html +113 -154
  15. data/doc/RubyProf/CallInfoPrinter.html +56 -123
  16. data/doc/RubyProf/CallInfoVisitor.html +87 -216
  17. data/doc/RubyProf/CallStackPrinter.html +222 -215
  18. data/doc/RubyProf/CallTreePrinter.html +91 -142
  19. data/doc/RubyProf/Cmd.html +115 -157
  20. data/doc/RubyProf/DotPrinter.html +88 -140
  21. data/doc/RubyProf/FlatPrinter.html +66 -129
  22. data/doc/RubyProf/FlatPrinterWithLineNumbers.html +69 -132
  23. data/doc/RubyProf/GraphHtmlPrinter.html +115 -166
  24. data/doc/RubyProf/GraphPrinter.html +58 -125
  25. data/doc/RubyProf/MethodInfo.html +147 -172
  26. data/doc/RubyProf/MultiPrinter.html +104 -150
  27. data/doc/RubyProf/Profile.html +125 -179
  28. data/doc/RubyProf/ProfileTask.html +117 -157
  29. data/doc/RubyProf/Test.html +115 -154
  30. data/doc/RubyProf/Thread.html +87 -147
  31. data/doc/created.rid +13 -14
  32. data/doc/examples/flat_txt.html +51 -90
  33. data/doc/examples/graph_html.html +852 -0
  34. data/doc/examples/graph_txt.html +64 -92
  35. data/doc/fonts.css +167 -0
  36. data/doc/fonts/Lato-Light.ttf +0 -0
  37. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  38. data/doc/fonts/Lato-Regular.ttf +0 -0
  39. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  40. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  41. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  42. data/doc/images/add.png +0 -0
  43. data/doc/images/arrow_up.png +0 -0
  44. data/doc/images/delete.png +0 -0
  45. data/doc/images/tag_blue.png +0 -0
  46. data/doc/index.html +75 -65
  47. data/doc/js/darkfish.js +0 -15
  48. data/doc/js/search.js +20 -5
  49. data/doc/js/search_index.js +1 -1
  50. data/doc/rdoc.css +255 -218
  51. data/doc/table_of_contents.html +751 -353
  52. data/ext/ruby_prof/extconf.rb +20 -22
  53. data/ext/ruby_prof/rp_measure_allocations.c +9 -5
  54. data/ext/ruby_prof/rp_measure_gc_runs.c +8 -0
  55. data/ext/ruby_prof/rp_measure_gc_time.c +5 -2
  56. data/ext/ruby_prof/rp_measure_wall_time.c +1 -0
  57. data/ext/ruby_prof/rp_method.c +0 -9
  58. data/ext/ruby_prof/rp_method.h +1 -6
  59. data/ext/ruby_prof/ruby_prof.c +32 -112
  60. data/ext/ruby_prof/ruby_prof.h +9 -10
  61. data/lib/ruby-prof.rb +2 -1
  62. data/lib/ruby-prof/aggregate_call_info.rb +4 -6
  63. data/lib/ruby-prof/call_info_visitor.rb +42 -44
  64. data/lib/ruby-prof/printers/graph_html_printer.rb +0 -8
  65. data/lib/ruby-prof/profile.rb +4 -4
  66. data/lib/ruby-prof/rack.rb +47 -47
  67. data/lib/ruby-prof/task.rb +0 -0
  68. data/lib/ruby-prof/thread.rb +22 -22
  69. data/lib/ruby-prof/version.rb +3 -0
  70. data/ruby-prof.gemspec +7 -11
  71. data/test/call_info_test.rb +78 -78
  72. data/test/call_info_visitor_test.rb +31 -31
  73. data/test/fiber_test.rb +2 -2
  74. data/test/measure_gc_runs_test.rb +1 -1
  75. data/test/measure_process_time_test.rb +7 -6
  76. data/test/printers_test.rb +4 -8
  77. data/test/recursive_test.rb +5 -9
  78. data/test/test_helper.rb +1 -1
  79. data/test/unique_call_path_test.rb +7 -29
  80. data/test/yarv_test.rb +55 -0
  81. metadata +63 -55
  82. data/ext/ruby_prof/version.h +0 -7
  83. data/lib/ruby-prof/test.rb +0 -150
  84. data/test/exec_test.rb +0 -14
  85. data/test/test_suite.rb +0 -37
@@ -1,31 +1,31 @@
1
- #!/usr/bin/env ruby
2
- # encoding: UTF-8
3
-
4
- require File.expand_path('../test_helper', __FILE__)
5
-
6
- class CallInfoVisitorTest < Test::Unit::TestCase
7
- def setup
8
- # Need to use wall time for this test due to the sleep calls
9
- RubyProf::measure_mode = RubyProf::WALL_TIME
10
- end
11
-
12
- def test_visit
13
- result = RubyProf.profile do
14
- RubyProf::C1.hello
15
- end
16
-
17
- visitor = RubyProf::CallInfoVisitor.new(result.threads.first)
18
-
19
- method_names = Array.new
20
-
21
- visitor.visit do |call_info, event|
22
- method_names << call_info.target.full_name if event == :enter
23
- end
24
-
25
- assert_equal(3, method_names.length)
26
- assert_equal("CallInfoVisitorTest#test_visit", method_names[0])
27
- assert_equal("<Class::RubyProf::C1>#hello", method_names[1])
28
- assert_equal("Kernel#sleep", method_names[2])
29
- end
30
- end
31
-
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require File.expand_path('../test_helper', __FILE__)
5
+
6
+ class CallInfoVisitorTest < Test::Unit::TestCase
7
+ def setup
8
+ # Need to use wall time for this test due to the sleep calls
9
+ RubyProf::measure_mode = RubyProf::WALL_TIME
10
+ end
11
+
12
+ def test_visit
13
+ result = RubyProf.profile do
14
+ RubyProf::C1.hello
15
+ end
16
+
17
+ visitor = RubyProf::CallInfoVisitor.new(result.threads.first)
18
+
19
+ method_names = Array.new
20
+
21
+ visitor.visit do |call_info, event|
22
+ method_names << call_info.target.full_name if event == :enter
23
+ end
24
+
25
+ assert_equal(3, method_names.length)
26
+ assert_equal("CallInfoVisitorTest#test_visit", method_names[0])
27
+ assert_equal("<Class::RubyProf::C1>#hello", method_names[1])
28
+ assert_equal("Kernel#sleep", method_names[2])
29
+ end
30
+ end
31
+
data/test/fiber_test.rb CHANGED
@@ -23,7 +23,7 @@ class FiberTest < Test::Unit::TestCase
23
23
  end
24
24
  while true
25
25
  begin
26
- x = enum.next
26
+ enum.next
27
27
  rescue StopIteration
28
28
  break
29
29
  end
@@ -62,4 +62,4 @@ class FiberTest < Test::Unit::TestCase
62
62
  # RubyProf::CallInfoPrinter.new(@result).print
63
63
  end
64
64
 
65
- end if RUBY_VERSION >= "1.9"
65
+ end
@@ -20,7 +20,7 @@ class MeasureGCRunsTest < Test::Unit::TestCase
20
20
  t = RubyProf.measure_gc_runs
21
21
  assert_kind_of Integer, t
22
22
 
23
- GC.enable_stats
23
+ GC.enable_stats if GC.respond_to?(:enable_stats)
24
24
  GC.start
25
25
 
26
26
  u = RubyProf.measure_gc_runs
@@ -31,14 +31,15 @@ class MeasureProcessTimeTest < Test::Unit::TestCase
31
31
 
32
32
  methods = result.threads.first.methods.sort.reverse
33
33
 
34
- if RUBY_VERSION =~ /^1\.8/
35
- methods.reject!{|m| m.full_name =~ /^Fixnum/ || m.full_name == 'Object#find_largest'}
36
- end
37
- if RUBY_VERSION =~ /^(1\.9\.2|2\.0)/
38
- assert_equal 15, methods.length
39
- else
34
+ # WTF?
35
+ if RUBY_VERSION =~ /^1\.9\.3/
40
36
  assert_equal 16, methods.length
37
+ elsif RUBY_VERSION =~ /^2\.0/
38
+ assert_equal 15, methods.length
39
+ else # if RUBY_VERSION =~ /^2\.1/
40
+ assert_equal 14, methods.length
41
41
  end
42
+ # puts methods.map(&:full_name).inspect
42
43
 
43
44
  # Check times
44
45
  assert_equal("MeasureProcessTimeTest#test_primes", methods[0].full_name)
@@ -75,7 +75,7 @@ class PrintersTest < Test::Unit::TestCase
75
75
  printer.print(output)
76
76
 
77
77
  assert_match(/Thread ID: -?\d+/i, output)
78
- assert_match(/Fiber ID: -?\d+/i, output) unless RUBY_VERSION =~ /^1.8/
78
+ assert_match(/Fiber ID: -?\d+/i, output)
79
79
  assert_match(/Total: \d+\.\d+/i, output)
80
80
  assert_match(/Object#run_primes/i, output)
81
81
  output
@@ -88,12 +88,8 @@ class PrintersTest < Test::Unit::TestCase
88
88
  assert_match(/called from/, output)
89
89
 
90
90
  # should combine common parents
91
- if RUBY_VERSION < '1.9'
92
- assert_equal(3, output.scan(/Object#is_prime/).length)
93
- else
94
- # 1.9 inlines it's Fixnum#- so we don't see as many
95
- assert_equal(2, output.scan(/Object#is_prime/).length)
96
- end
91
+ # 1.9 inlines it's Fixnum#- so we don't see as many
92
+ assert_equal(2, output.scan(/Object#is_prime/).length)
97
93
  assert_no_match(/\.\/test\/prime.rb/, output) # don't use relative paths
98
94
  end
99
95
 
@@ -113,7 +109,7 @@ class PrintersTest < Test::Unit::TestCase
113
109
  printer.print(output)
114
110
 
115
111
  assert_match(/Thread ID: -?\d+/i, output)
116
- assert_match(/Fiber ID: -?\d+/i, output) unless RUBY_VERSION =~ /^1.8/
112
+ assert_match(/Fiber ID: -?\d+/i, output)
117
113
  assert_match(/Total Time: \d+\.\d+/i, output)
118
114
  assert_match(/Object#run_primes/i, output)
119
115
  end
@@ -111,11 +111,7 @@ class RecursiveTest < Test::Unit::TestCase
111
111
  end
112
112
 
113
113
  methods = result.threads.first.methods.sort.reverse
114
- if RUBY_VERSION < '1.9' # Fixnum#+, Fixnum#===, Kernel#===
115
- assert_equal(8, methods.length)
116
- else
117
- assert_equal(5, methods.length)
118
- end
114
+ assert_equal(5, methods.length)
119
115
 
120
116
  method = methods[0]
121
117
  assert_equal('RecursiveTest#test_cycle', method.full_name)
@@ -161,7 +157,7 @@ class RecursiveTest < Test::Unit::TestCase
161
157
 
162
158
  call_info = method.call_infos[1]
163
159
  assert_equal('RecursiveTest#test_cycle->Object#render->Integer#times->Object#render_partial->Integer#times', call_info.call_sequence)
164
- assert_equal(1 + (RUBY_VERSION < '1.9.0' ? 1 : 0), call_info.children.length)
160
+ assert_equal(1, call_info.children.length)
165
161
  assert(call_info.recursive)
166
162
 
167
163
  method = methods[3]
@@ -175,17 +171,17 @@ class RecursiveTest < Test::Unit::TestCase
175
171
  assert_equal(3, method.call_infos.length)
176
172
  call_info = method.call_infos[0]
177
173
  assert_equal('RecursiveTest#test_cycle->Object#render->Integer#times->Object#render_partial', call_info.call_sequence)
178
- assert_equal(3 + (RUBY_VERSION < '1.9.0' ? 1 : 0), call_info.children.length)
174
+ assert_equal(3, call_info.children.length)
179
175
  assert(!call_info.recursive)
180
176
 
181
177
  call_info = method.call_infos[1]
182
178
  assert_equal('RecursiveTest#test_cycle->Object#render->Integer#times->Object#render_partial->Object#render_partial', call_info.call_sequence)
183
- assert_equal(1 + (RUBY_VERSION < '1.9.0' ? 1 : 0), call_info.children.length)
179
+ assert_equal(1, call_info.children.length)
184
180
  assert(call_info.recursive)
185
181
 
186
182
  call_info = method.call_infos[2]
187
183
  assert_equal('RecursiveTest#test_cycle->Object#render->Integer#times->Object#render_partial->Integer#times->Object#render_partial', call_info.call_sequence)
188
- assert_equal(1 + (RUBY_VERSION < '1.9.0' ? 1 : 0), call_info.children.length)
184
+ assert_equal(1, call_info.children.length)
189
185
  assert(call_info.recursive)
190
186
 
191
187
  method = methods[4]
data/test/test_helper.rb CHANGED
@@ -13,7 +13,7 @@ if ENV["RM_INFO"] || ENV["TEAMCITY_VERSION"]
13
13
  MiniTest::Reporters.use!
14
14
  end
15
15
 
16
- require "minitest/pride"
16
+ require "minitest/pride" if RUBY_VERSION == "1.9.3"
17
17
 
18
18
  # To make testing/debugging easier, test within this source tree versus an installed gem
19
19
  dir = File.dirname(__FILE__)
@@ -121,24 +121,14 @@ class UniqueCallPathTest < Test::Unit::TestCase
121
121
  end
122
122
  end
123
123
 
124
- if RUBY_VERSION < '1.9'
125
- assert_equal(4, call_info_a.target.children.length)
126
- else
127
- assert_equal(2, call_info_a.target.children.length)
128
- end
124
+ assert_equal(2, call_info_a.target.children.length)
129
125
 
130
126
  children_of_a = children_of_a.sort do |c1, c2|
131
127
  c1.target.full_name <=> c2.target.full_name
132
128
  end
133
- if RUBY_VERSION < '1.9'
134
- assert_equal(2, children_of_a.length)
135
- assert_equal("Fixnum#==", children_of_a[0].target.full_name)
136
- assert_equal("UniqueCallPath#method_b", children_of_a[1].target.full_name)
137
- else
138
- assert_equal(1, children_of_a.length)
139
- assert_equal("UniqueCallPath#method_b", children_of_a[0].target.full_name)
140
- end
141
129
 
130
+ assert_equal(1, children_of_a.length)
131
+ assert_equal("UniqueCallPath#method_b", children_of_a[0].target.full_name)
142
132
  end
143
133
 
144
134
  def test_id2ref
@@ -199,26 +189,14 @@ class UniqueCallPathTest < Test::Unit::TestCase
199
189
  end
200
190
  end
201
191
 
202
- if RUBY_VERSION < '1.9'
203
- assert_equal(4, call_info_a.target.children.length)
204
- else
205
- assert_equal(2, call_info_a.target.children.length)
206
- end
192
+ assert_equal(2, call_info_a.target.children.length)
207
193
 
208
194
  children_of_a = children_of_a.sort do |c1, c2|
209
195
  c1.target.full_name <=> c2.target.full_name
210
196
  end
211
197
 
212
- if RUBY_VERSION < '1.9'
213
- assert_equal(2, children_of_a.length)
214
- assert_equal(1, children_of_a[0].called)
215
- assert_equal("Fixnum#==", children_of_a[0].target.full_name)
216
- assert_equal(1, children_of_a[1].called)
217
- assert_equal("UniqueCallPath#method_b", children_of_a[1].target.full_name)
218
- else
219
- assert_equal(1, children_of_a.length)
220
- assert_equal(1, children_of_a[0].called)
221
- assert_equal("UniqueCallPath#method_b", children_of_a[0].target.full_name)
222
- end
198
+ assert_equal(1, children_of_a.length)
199
+ assert_equal(1, children_of_a[0].called)
200
+ assert_equal("UniqueCallPath#method_b", children_of_a[0].target.full_name)
223
201
  end
224
202
  end
data/test/yarv_test.rb ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require File.expand_path('../test_helper', __FILE__)
5
+
6
+ # tests for bugs reported by users
7
+ class BugsTest < Test::Unit::TestCase
8
+ def setup
9
+ RubyProf::measure_mode = RubyProf::WALL_TIME
10
+ define_methods
11
+ end
12
+
13
+ def test_array_push_unoptimized
14
+ a = nil
15
+ result = RubyProf.profile do
16
+ a = self.array_push_unoptimized
17
+ end
18
+ assert_equal 2, a.length
19
+ assert_equal ["BugsTest#test_array_push_unoptimized", "BugsTest#array_push_unoptimized", 'Array#<<', "Array#push"], result.threads.first.methods.map(&:full_name)
20
+ end
21
+
22
+ def test_array_push_optimized
23
+ a = nil
24
+ result = RubyProf.profile do
25
+ a = self.array_push_optimized
26
+ end
27
+ assert_equal 2, a.length
28
+ assert_equal ["BugsTest#test_array_push_optimized", "BugsTest#array_push_optimized", "Array#push"], result.threads.first.methods.map(&:full_name)
29
+ end
30
+
31
+ private
32
+ def define_methods
33
+ return if respond_to?(:array_push_optimized)
34
+ old_compile_option = RubyVM::InstructionSequence.compile_option
35
+ RubyVM::InstructionSequence.compile_option = {
36
+ :trace_instruction => true,
37
+ :specialized_instruction => false
38
+ }
39
+ self.class.class_eval <<-"EOM"
40
+ def array_push_unoptimized
41
+ a = []
42
+ a << 1
43
+ a.push 2
44
+ end
45
+ EOM
46
+ RubyVM::InstructionSequence.compile_option = old_compile_option
47
+ self.class.class_eval <<-"EOM"
48
+ def array_push_optimized
49
+ a = []
50
+ a << 1
51
+ a.push 2
52
+ end
53
+ EOM
54
+ end
55
+ end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-prof
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shugo Maeda, Charlie Savage, Roger Pack, Stefan Kaes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-14 00:00:00.000000000 Z
11
+ date: 2014-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake-compiler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rdoc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: |
@@ -62,20 +62,54 @@ description: |
62
62
  email: shugo@ruby-lang.org, cfis@savagexi.com, rogerdpack@gmail.com, skaes@railsexpress.de
63
63
  executables:
64
64
  - ruby-prof
65
+ - ruby-prof-check-trace
65
66
  extensions:
66
67
  - ext/ruby_prof/extconf.rb
67
68
  extra_rdoc_files: []
68
69
  files:
69
70
  - CHANGES
70
71
  - LICENSE
71
- - Rakefile
72
72
  - README.rdoc
73
- - ruby-prof.gemspec
73
+ - Rakefile
74
74
  - bin/ruby-prof
75
+ - bin/ruby-prof-check-trace
76
+ - doc/LICENSE.html
77
+ - doc/README_rdoc.html
78
+ - doc/Rack.html
79
+ - doc/Rack/RubyProf.html
80
+ - doc/RubyProf.html
81
+ - doc/RubyProf/AbstractPrinter.html
82
+ - doc/RubyProf/AggregateCallInfo.html
83
+ - doc/RubyProf/CallInfo.html
84
+ - doc/RubyProf/CallInfoPrinter.html
85
+ - doc/RubyProf/CallInfoVisitor.html
86
+ - doc/RubyProf/CallStackPrinter.html
87
+ - doc/RubyProf/CallTreePrinter.html
88
+ - doc/RubyProf/Cmd.html
89
+ - doc/RubyProf/DotPrinter.html
90
+ - doc/RubyProf/FlatPrinter.html
91
+ - doc/RubyProf/FlatPrinterWithLineNumbers.html
92
+ - doc/RubyProf/GraphHtmlPrinter.html
93
+ - doc/RubyProf/GraphPrinter.html
94
+ - doc/RubyProf/MethodInfo.html
95
+ - doc/RubyProf/MultiPrinter.html
96
+ - doc/RubyProf/Profile.html
97
+ - doc/RubyProf/ProfileTask.html
98
+ - doc/RubyProf/Test.html
99
+ - doc/RubyProf/Thread.html
75
100
  - doc/created.rid
76
101
  - doc/examples/flat_txt.html
102
+ - doc/examples/graph_html.html
77
103
  - doc/examples/graph_txt.html
104
+ - doc/fonts.css
105
+ - doc/fonts/Lato-Light.ttf
106
+ - doc/fonts/Lato-LightItalic.ttf
107
+ - doc/fonts/Lato-Regular.ttf
108
+ - doc/fonts/Lato-RegularItalic.ttf
109
+ - doc/fonts/SourceCodePro-Bold.ttf
110
+ - doc/fonts/SourceCodePro-Regular.ttf
78
111
  - doc/images/add.png
112
+ - doc/images/arrow_up.png
79
113
  - doc/images/brick.png
80
114
  - doc/images/brick_link.png
81
115
  - doc/images/bug.png
@@ -106,31 +140,7 @@ files:
106
140
  - doc/js/search.js
107
141
  - doc/js/search_index.js
108
142
  - doc/js/searcher.js
109
- - doc/LICENSE.html
110
- - doc/Rack/RubyProf.html
111
- - doc/Rack.html
112
143
  - doc/rdoc.css
113
- - doc/README_rdoc.html
114
- - doc/RubyProf/AbstractPrinter.html
115
- - doc/RubyProf/AggregateCallInfo.html
116
- - doc/RubyProf/CallInfo.html
117
- - doc/RubyProf/CallInfoPrinter.html
118
- - doc/RubyProf/CallInfoVisitor.html
119
- - doc/RubyProf/CallStackPrinter.html
120
- - doc/RubyProf/CallTreePrinter.html
121
- - doc/RubyProf/Cmd.html
122
- - doc/RubyProf/DotPrinter.html
123
- - doc/RubyProf/FlatPrinter.html
124
- - doc/RubyProf/FlatPrinterWithLineNumbers.html
125
- - doc/RubyProf/GraphHtmlPrinter.html
126
- - doc/RubyProf/GraphPrinter.html
127
- - doc/RubyProf/MethodInfo.html
128
- - doc/RubyProf/MultiPrinter.html
129
- - doc/RubyProf/Profile.html
130
- - doc/RubyProf/ProfileTask.html
131
- - doc/RubyProf/Test.html
132
- - doc/RubyProf/Thread.html
133
- - doc/RubyProf.html
134
144
  - doc/table_of_contents.html
135
145
  - examples/empty.png
136
146
  - examples/flat.txt
@@ -147,7 +157,9 @@ files:
147
157
  - examples/stack.html
148
158
  - ext/ruby_prof/extconf.rb
149
159
  - ext/ruby_prof/rp_call_info.c
160
+ - ext/ruby_prof/rp_call_info.h
150
161
  - ext/ruby_prof/rp_measure.c
162
+ - ext/ruby_prof/rp_measure.h
151
163
  - ext/ruby_prof/rp_measure_allocations.c
152
164
  - ext/ruby_prof/rp_measure_cpu_time.c
153
165
  - ext/ruby_prof/rp_measure_gc_runs.c
@@ -156,35 +168,26 @@ files:
156
168
  - ext/ruby_prof/rp_measure_process_time.c
157
169
  - ext/ruby_prof/rp_measure_wall_time.c
158
170
  - ext/ruby_prof/rp_method.c
159
- - ext/ruby_prof/rp_stack.c
160
- - ext/ruby_prof/rp_thread.c
161
- - ext/ruby_prof/ruby_prof.c
162
- - ext/ruby_prof/rp_call_info.h
163
- - ext/ruby_prof/rp_measure.h
164
171
  - ext/ruby_prof/rp_method.h
172
+ - ext/ruby_prof/rp_stack.c
165
173
  - ext/ruby_prof/rp_stack.h
174
+ - ext/ruby_prof/rp_thread.c
166
175
  - ext/ruby_prof/rp_thread.h
176
+ - ext/ruby_prof/ruby_prof.c
167
177
  - ext/ruby_prof/ruby_prof.h
168
- - ext/ruby_prof/version.h
169
178
  - ext/ruby_prof/vc/ruby_prof.sln
170
179
  - ext/ruby_prof/vc/ruby_prof_18.vcxproj
171
180
  - ext/ruby_prof/vc/ruby_prof_19.vcxproj
172
181
  - ext/ruby_prof/vc/ruby_prof_20.vcxproj
173
182
  - lib/ruby-prof.rb
174
- - lib/unprof.rb
175
183
  - lib/ruby-prof/aggregate_call_info.rb
176
184
  - lib/ruby-prof/call_info.rb
177
185
  - lib/ruby-prof/call_info_visitor.rb
178
186
  - lib/ruby-prof/compatibility.rb
179
- - lib/ruby-prof/method_info.rb
180
- - lib/ruby-prof/profile.rb
181
- - lib/ruby-prof/rack.rb
182
- - lib/ruby-prof/task.rb
183
- - lib/ruby-prof/test.rb
184
- - lib/ruby-prof/thread.rb
185
187
  - lib/ruby-prof/images/empty.png
186
188
  - lib/ruby-prof/images/minus.png
187
189
  - lib/ruby-prof/images/plus.png
190
+ - lib/ruby-prof/method_info.rb
188
191
  - lib/ruby-prof/printers/abstract_printer.rb
189
192
  - lib/ruby-prof/printers/call_info_printer.rb
190
193
  - lib/ruby-prof/printers/call_stack_printer.rb
@@ -195,6 +198,13 @@ files:
195
198
  - lib/ruby-prof/printers/graph_html_printer.rb
196
199
  - lib/ruby-prof/printers/graph_printer.rb
197
200
  - lib/ruby-prof/printers/multi_printer.rb
201
+ - lib/ruby-prof/profile.rb
202
+ - lib/ruby-prof/rack.rb
203
+ - lib/ruby-prof/task.rb
204
+ - lib/ruby-prof/thread.rb
205
+ - lib/ruby-prof/version.rb
206
+ - lib/unprof.rb
207
+ - ruby-prof.gemspec
198
208
  - test/aggregate_test.rb
199
209
  - test/basic_test.rb
200
210
  - test/call_info_test.rb
@@ -204,7 +214,6 @@ files:
204
214
  - test/enumerable_test.rb
205
215
  - test/exceptions_test.rb
206
216
  - test/exclude_threads_test.rb
207
- - test/exec_test.rb
208
217
  - test/fiber_test.rb
209
218
  - test/line_number_test.rb
210
219
  - test/measure_allocations_test.rb
@@ -227,10 +236,10 @@ files:
227
236
  - test/stack_test.rb
228
237
  - test/start_stop_test.rb
229
238
  - test/test_helper.rb
230
- - test/test_suite.rb
231
239
  - test/thread_test.rb
232
240
  - test/unique_call_path_test.rb
233
- homepage: https://github.com/rdp/ruby-prof
241
+ - test/yarv_test.rb
242
+ homepage: https://github.com/ruby-prof/ruby-prof
234
243
  licenses: []
235
244
  metadata: {}
236
245
  post_install_message:
@@ -239,20 +248,19 @@ require_paths:
239
248
  - lib
240
249
  required_ruby_version: !ruby/object:Gem::Requirement
241
250
  requirements:
242
- - - '>='
251
+ - - ">="
243
252
  - !ruby/object:Gem::Version
244
- version: 1.8.7
253
+ version: 1.9.3
245
254
  required_rubygems_version: !ruby/object:Gem::Requirement
246
255
  requirements:
247
- - - '>='
256
+ - - ">="
248
257
  - !ruby/object:Gem::Version
249
258
  version: '0'
250
259
  requirements: []
251
260
  rubyforge_project:
252
- rubygems_version: 2.1.11
261
+ rubygems_version: 2.2.0
253
262
  signing_key:
254
263
  specification_version: 4
255
264
  summary: Fast Ruby profiler
256
265
  test_files:
257
266
  - test/test_helper.rb
258
- - test/test_suite.rb