ruby-prof 0.11.0.rc1 → 0.11.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +20 -5
- data/README.rdoc +10 -3
- data/ext/ruby_prof/rp_call_info.c +108 -79
- data/ext/ruby_prof/rp_call_info.h +1 -0
- data/ext/ruby_prof/rp_measure_cpu_time.c +111 -111
- data/ext/ruby_prof/rp_measure_gc_runs.c +1 -1
- data/ext/ruby_prof/rp_measure_memory.c +1 -1
- data/ext/ruby_prof/rp_measure_process_time.c +71 -71
- data/ext/ruby_prof/rp_measure_wall_time.c +1 -1
- data/ext/ruby_prof/rp_method.c +143 -73
- data/ext/ruby_prof/rp_method.h +7 -4
- data/ext/ruby_prof/rp_stack.c +16 -1
- data/ext/ruby_prof/rp_stack.h +4 -1
- data/ext/ruby_prof/rp_thread.c +165 -35
- data/ext/ruby_prof/rp_thread.h +8 -2
- data/ext/ruby_prof/ruby_prof.c +164 -171
- data/ext/ruby_prof/ruby_prof.h +53 -54
- data/ext/ruby_prof/vc/ruby_prof.sln +26 -0
- data/ext/ruby_prof/vc/ruby_prof.vcxproj +109 -0
- data/ext/ruby_prof/vc/ruby_prof_18.vcxproj +105 -0
- data/lib/ruby-prof/aggregate_call_info.rb +9 -7
- data/lib/ruby-prof/call_info.rb +2 -27
- data/lib/ruby-prof/call_info_visitor.rb +42 -0
- data/lib/ruby-prof/{empty.png → images/empty.png} +0 -0
- data/lib/ruby-prof/{minus.png → images/minus.png} +0 -0
- data/lib/ruby-prof/{plus.png → images/plus.png} +0 -0
- data/lib/ruby-prof/method_info.rb +13 -15
- data/lib/ruby-prof/{abstract_printer.rb → printers/abstract_printer.rb} +36 -2
- data/lib/ruby-prof/printers/call_info_printer.rb +40 -0
- data/lib/ruby-prof/{call_stack_printer.rb → printers/call_stack_printer.rb} +11 -16
- data/lib/ruby-prof/{call_tree_printer.rb → printers/call_tree_printer.rb} +4 -4
- data/lib/ruby-prof/{dot_printer.rb → printers/dot_printer.rb} +11 -31
- data/lib/ruby-prof/{flat_printer.rb → printers/flat_printer.rb} +26 -35
- data/lib/ruby-prof/{flat_printer_with_line_numbers.rb → printers/flat_printer_with_line_numbers.rb} +14 -25
- data/lib/ruby-prof/printers/graph_html_printer.rb +248 -0
- data/lib/ruby-prof/{graph_printer.rb → printers/graph_printer.rb} +31 -73
- data/lib/ruby-prof/{multi_printer.rb → printers/multi_printer.rb} +0 -0
- data/lib/ruby-prof/profile.rb +27 -22
- data/lib/ruby-prof/rack.rb +22 -12
- data/ruby-prof.gemspec +58 -0
- data/test/aggregate_test.rb +6 -6
- data/test/call_info_visitor_test.rb +31 -0
- data/test/duplicate_names_test.rb +1 -1
- data/test/dynamic_method_test.rb +1 -1
- data/test/enumerable_test.rb +1 -1
- data/test/exclude_threads_test.rb +2 -2
- data/test/gc_test.rb +35 -0
- data/test/line_number_test.rb +2 -2
- data/test/measure_cpu_time_test.rb +5 -5
- data/test/measure_process_time_test.rb +5 -5
- data/test/measure_wall_time_test.rb +5 -5
- data/test/method_elimination_test.rb +3 -3
- data/test/module_test.rb +1 -1
- data/test/no_method_class_test.rb +1 -1
- data/test/printers_test.rb +16 -8
- data/test/recursive_test.rb +115 -91
- data/test/stack_test.rb +1 -1
- data/test/start_stop_test.rb +13 -13
- data/test/summarize_test.rb +48 -0
- data/test/test_suite.rb +1 -0
- data/test/thread_test.rb +16 -12
- data/test/unique_call_path_test.rb +10 -10
- metadata +64 -85
- data/lib/1.8/ruby_prof.so +0 -0
- data/lib/1.9/ruby_prof.exp +0 -0
- data/lib/1.9/ruby_prof.ilk +0 -0
- data/lib/1.9/ruby_prof.lib +0 -0
- data/lib/1.9/ruby_prof.pdb +0 -0
- data/lib/1.9/ruby_prof.so +0 -0
- data/lib/ruby-prof.rb +0 -70
- data/lib/ruby-prof/graph_html_printer.rb +0 -286
- data/lib/ruby-prof/symbol_to_proc.rb +0 -10
- data/lib/ruby_prof.exp +0 -0
- data/lib/ruby_prof.ilk +0 -0
- data/lib/ruby_prof.lib +0 -0
- data/lib/ruby_prof.pdb +0 -0
- data/lib/ruby_prof.so +0 -0
- data/lib/unprof.rb +0 -10
- data/test/do_nothing.rb +0 -0
data/test/stack_test.rb
CHANGED
@@ -46,7 +46,7 @@ class StackTest < Test::Unit::TestCase
|
|
46
46
|
# StackClass#c
|
47
47
|
# StackClass#b
|
48
48
|
|
49
|
-
methods = result.threads.
|
49
|
+
methods = result.threads.first.methods.sort.reverse
|
50
50
|
assert_equal(5, methods.length)
|
51
51
|
|
52
52
|
# Check StackTest#test_call_sequence
|
data/test/start_stop_test.rb
CHANGED
@@ -53,7 +53,7 @@ class StartStopTest < Test::Unit::TestCase
|
|
53
53
|
# StartStopTest#method3
|
54
54
|
# Kernel#sleep
|
55
55
|
|
56
|
-
methods = @result.threads.
|
56
|
+
methods = @result.threads.first.methods.sort.reverse
|
57
57
|
assert_equal(4, methods.length)
|
58
58
|
|
59
59
|
# Check StackTest#test_call_sequence
|
@@ -61,8 +61,8 @@ class StartStopTest < Test::Unit::TestCase
|
|
61
61
|
assert_equal('StartStopTest#method1', method.full_name)
|
62
62
|
assert_equal(1, method.called)
|
63
63
|
assert_in_delta(2, method.total_time, 0.05)
|
64
|
-
assert_in_delta(0, method.wait_time, 0.
|
65
|
-
assert_in_delta(0, method.self_time, 0.
|
64
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
65
|
+
assert_in_delta(0, method.self_time, 0.02)
|
66
66
|
assert_in_delta(2, method.children_time, 0.05)
|
67
67
|
assert_equal(1, method.call_infos.length)
|
68
68
|
|
@@ -74,8 +74,8 @@ class StartStopTest < Test::Unit::TestCase
|
|
74
74
|
assert_equal('StartStopTest#method2', method.full_name)
|
75
75
|
assert_equal(1, method.called)
|
76
76
|
assert_in_delta(2, method.total_time, 0.05)
|
77
|
-
assert_in_delta(0, method.wait_time, 0.
|
78
|
-
assert_in_delta(0, method.self_time, 0.
|
77
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
78
|
+
assert_in_delta(0, method.self_time, 0.02)
|
79
79
|
assert_in_delta(2, method.children_time, 0.05)
|
80
80
|
assert_equal(1, method.call_infos.length)
|
81
81
|
|
@@ -86,10 +86,10 @@ class StartStopTest < Test::Unit::TestCase
|
|
86
86
|
method = methods[2]
|
87
87
|
assert_equal('StartStopTest#method3', method.full_name)
|
88
88
|
assert_equal(1, method.called)
|
89
|
-
assert_in_delta(2, method.total_time, 0.
|
90
|
-
assert_in_delta(0, method.wait_time, 0.
|
91
|
-
assert_in_delta(0, method.self_time, 0.
|
92
|
-
assert_in_delta(2, method.children_time, 0.
|
89
|
+
assert_in_delta(2, method.total_time, 0.02)
|
90
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
91
|
+
assert_in_delta(0, method.self_time, 0.02)
|
92
|
+
assert_in_delta(2, method.children_time, 0.02)
|
93
93
|
assert_equal(1, method.call_infos.length)
|
94
94
|
|
95
95
|
call_info = method.call_infos[0]
|
@@ -99,10 +99,10 @@ class StartStopTest < Test::Unit::TestCase
|
|
99
99
|
method = methods[3]
|
100
100
|
assert_equal('Kernel#sleep', method.full_name)
|
101
101
|
assert_equal(1, method.called)
|
102
|
-
assert_in_delta(2, method.total_time, 0.
|
103
|
-
assert_in_delta(0, method.wait_time, 0.
|
104
|
-
assert_in_delta(2, method.self_time, 0.
|
105
|
-
assert_in_delta(0, method.children_time, 0.
|
102
|
+
assert_in_delta(2, method.total_time, 0.02)
|
103
|
+
assert_in_delta(0, method.wait_time, 0.02)
|
104
|
+
assert_in_delta(2, method.self_time, 0.02)
|
105
|
+
assert_in_delta(0, method.children_time, 0.02)
|
106
106
|
assert_equal(1, method.call_infos.length)
|
107
107
|
|
108
108
|
call_info = method.call_infos[0]
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: UTF-8
|
3
|
+
|
4
|
+
require File.expand_path('../test_helper', __FILE__)
|
5
|
+
|
6
|
+
def slow
|
7
|
+
sleep(3)
|
8
|
+
end
|
9
|
+
|
10
|
+
def fast
|
11
|
+
sleep(3)
|
12
|
+
end
|
13
|
+
|
14
|
+
def slow_caller
|
15
|
+
1.times do
|
16
|
+
slow
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def fast_caller
|
21
|
+
1.times do
|
22
|
+
fast
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def parent
|
27
|
+
[1..10].each do
|
28
|
+
#slow_caller
|
29
|
+
fast_caller
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
class SummarizeTest < Test::Unit::TestCase
|
34
|
+
def setup
|
35
|
+
# Need to use wall time for this test due to the sleep calls
|
36
|
+
RubyProf::measure_mode = RubyProf::WALL_TIME
|
37
|
+
end
|
38
|
+
|
39
|
+
def test
|
40
|
+
result = RubyProf::Profile.profile do
|
41
|
+
parent
|
42
|
+
end
|
43
|
+
|
44
|
+
printer = RubyProf::GraphPrinter.new(result)
|
45
|
+
printer.print(STDOUT)
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
data/test/test_suite.rb
CHANGED
data/test/thread_test.rb
CHANGED
@@ -20,7 +20,7 @@ class ThreadTest < Test::Unit::TestCase
|
|
20
20
|
|
21
21
|
thread.join
|
22
22
|
result = RubyProf.stop
|
23
|
-
assert_equal(2, result.threads.
|
23
|
+
assert_equal(2, result.threads.length)
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_thread_identity
|
@@ -31,9 +31,9 @@ class ThreadTest < Test::Unit::TestCase
|
|
31
31
|
thread.join
|
32
32
|
result = RubyProf.stop
|
33
33
|
|
34
|
-
thread_ids = result.threads.
|
34
|
+
thread_ids = result.threads.map {|thread| thread.id}.sort
|
35
35
|
threads = [Thread.current, thread]
|
36
|
-
assert_equal(2,
|
36
|
+
assert_equal(2, result.threads.length)
|
37
37
|
|
38
38
|
assert(thread_ids.include?(threads[0].object_id))
|
39
39
|
assert(thread_ids.include?(threads[1].object_id))
|
@@ -59,7 +59,9 @@ class ThreadTest < Test::Unit::TestCase
|
|
59
59
|
|
60
60
|
# Check background thread
|
61
61
|
assert_equal(2, result.threads.length)
|
62
|
-
|
62
|
+
|
63
|
+
rp_thread = result.threads.detect {|athread| athread.id == thread.object_id}
|
64
|
+
methods = rp_thread.methods.sort.reverse
|
63
65
|
assert_equal(2, methods.length)
|
64
66
|
|
65
67
|
method = methods[0]
|
@@ -88,7 +90,8 @@ class ThreadTest < Test::Unit::TestCase
|
|
88
90
|
assert_equal(0, call_info.children.length)
|
89
91
|
|
90
92
|
# Check foreground thread
|
91
|
-
|
93
|
+
rp_thread = result.threads.detect {|athread| athread.id == Thread.current.object_id}
|
94
|
+
methods = rp_thread.methods.sort.reverse
|
92
95
|
assert_equal(4, methods.length)
|
93
96
|
methods = methods.sort.reverse
|
94
97
|
|
@@ -150,13 +153,14 @@ class ThreadTest < Test::Unit::TestCase
|
|
150
153
|
|
151
154
|
# useless test
|
152
155
|
def test_thread_back_and_forth
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
156
|
+
result = RubyProf.profile do
|
157
|
+
a = Thread.new { 100_000.times { sleep 0 }}
|
158
|
+
b = Thread.new { 100_000.times { sleep 0 }}
|
159
|
+
a.join
|
160
|
+
b.join
|
161
|
+
end
|
162
|
+
methods = result.threads.map {|thread| thread.methods}
|
163
|
+
assert(methods.flatten.sort[-1].total_time < 10) # 10s. Amazingly, this can fail in OS X at times. Amazing.
|
160
164
|
end
|
161
165
|
|
162
166
|
def test_thread
|
@@ -36,8 +36,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
36
36
|
end
|
37
37
|
|
38
38
|
root_methods = Array.new
|
39
|
-
result.threads.each do |
|
40
|
-
methods.each do | m |
|
39
|
+
result.threads.each do |thread|
|
40
|
+
thread.methods.each do | m |
|
41
41
|
if m.root?
|
42
42
|
root_methods.push(m)
|
43
43
|
end
|
@@ -57,8 +57,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
57
57
|
end
|
58
58
|
|
59
59
|
root_methods = Array.new
|
60
|
-
result.threads.each do |
|
61
|
-
methods.each do | m |
|
60
|
+
result.threads.each do |thread|
|
61
|
+
thread.methods.each do | m |
|
62
62
|
if m.root?
|
63
63
|
root_methods.push(m)
|
64
64
|
end
|
@@ -92,8 +92,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
92
92
|
end
|
93
93
|
|
94
94
|
root_methods = Array.new
|
95
|
-
result.threads.each do |
|
96
|
-
methods.each do | m |
|
95
|
+
result.threads.each do |thread|
|
96
|
+
thread.methods.each do | m |
|
97
97
|
if m.root?
|
98
98
|
root_methods.push(m)
|
99
99
|
end
|
@@ -150,8 +150,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
150
150
|
end
|
151
151
|
|
152
152
|
root_methods = Array.new
|
153
|
-
result.threads.each do |
|
154
|
-
methods.each do | m |
|
153
|
+
result.threads.each do |thread|
|
154
|
+
thread.methods.each do | m |
|
155
155
|
if m.root?
|
156
156
|
root_methods.push(m)
|
157
157
|
end
|
@@ -173,8 +173,8 @@ class UniqueCallPathTest < Test::Unit::TestCase
|
|
173
173
|
end
|
174
174
|
|
175
175
|
root_methods = Array.new
|
176
|
-
result.threads.each do |
|
177
|
-
methods.each do | m |
|
176
|
+
result.threads.each do |thread|
|
177
|
+
thread.methods.each do | m |
|
178
178
|
if m.root?
|
179
179
|
root_methods.push(m)
|
180
180
|
end
|
metadata
CHANGED
@@ -1,58 +1,57 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-prof
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.11.0.rc2
|
5
5
|
prerelease: 7
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 11
|
9
|
-
- 0
|
10
|
-
- rc
|
11
|
-
- 1
|
12
|
-
version: 0.11.0.rc1
|
13
6
|
platform: ruby
|
14
|
-
authors:
|
7
|
+
authors:
|
15
8
|
- Shugo Maeda, Charlie Savage, Roger Pack, Stefan Kaes
|
16
9
|
autorequire:
|
17
10
|
bindir: bin
|
18
11
|
cert_chain: []
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-03-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: rake-compiler
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
26
17
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
34
22
|
type: :development
|
35
|
-
|
36
|
-
|
37
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: ! 'ruby-prof is a fast code profiler for Ruby. It is a C extension and
|
31
|
+
|
38
32
|
therefore is many times faster than the standard Ruby profiler. It
|
33
|
+
|
39
34
|
supports both flat and graph profiles. For each method, graph profiles
|
35
|
+
|
40
36
|
show how long the method ran, which methods called it and which
|
37
|
+
|
41
38
|
methods it called. RubyProf generate both text and html and can output
|
39
|
+
|
42
40
|
it to standard out or to a file.
|
43
41
|
|
42
|
+
'
|
44
43
|
email: shugo@ruby-lang.org, cfis@savagexi.com, rogerdpack@gmail.com, skaes@railsexpress.de
|
45
|
-
executables:
|
44
|
+
executables:
|
46
45
|
- ruby-prof
|
47
|
-
extensions:
|
46
|
+
extensions:
|
48
47
|
- ext/ruby_prof/extconf.rb
|
49
48
|
extra_rdoc_files: []
|
50
|
-
|
51
|
-
|
49
|
+
files:
|
50
|
+
- CHANGES
|
51
|
+
- LICENSE
|
52
52
|
- Rakefile
|
53
53
|
- README.rdoc
|
54
|
-
-
|
55
|
-
- CHANGES
|
54
|
+
- ruby-prof.gemspec
|
56
55
|
- bin/ruby-prof
|
57
56
|
- examples/empty.png
|
58
57
|
- examples/flat.txt
|
@@ -67,6 +66,7 @@ files:
|
|
67
66
|
- examples/multi.stack.html
|
68
67
|
- examples/plus.png
|
69
68
|
- examples/stack.html
|
69
|
+
- ext/ruby_prof/extconf.rb
|
70
70
|
- ext/ruby_prof/rp_call_info.c
|
71
71
|
- ext/ruby_prof/rp_measure.c
|
72
72
|
- ext/ruby_prof/rp_measure_allocations.c
|
@@ -87,50 +87,42 @@ files:
|
|
87
87
|
- ext/ruby_prof/rp_thread.h
|
88
88
|
- ext/ruby_prof/ruby_prof.h
|
89
89
|
- ext/ruby_prof/version.h
|
90
|
-
-
|
91
|
-
-
|
92
|
-
-
|
93
|
-
- lib/1.9/ruby_prof.lib
|
94
|
-
- lib/1.9/ruby_prof.pdb
|
95
|
-
- lib/1.9/ruby_prof.so
|
96
|
-
- lib/ruby-prof/abstract_printer.rb
|
90
|
+
- ext/ruby_prof/vc/ruby_prof.sln
|
91
|
+
- ext/ruby_prof/vc/ruby_prof.vcxproj
|
92
|
+
- ext/ruby_prof/vc/ruby_prof_18.vcxproj
|
97
93
|
- lib/ruby-prof/aggregate_call_info.rb
|
98
94
|
- lib/ruby-prof/call_info.rb
|
99
|
-
- lib/ruby-prof/
|
100
|
-
- lib/ruby-prof/call_tree_printer.rb
|
95
|
+
- lib/ruby-prof/call_info_visitor.rb
|
101
96
|
- lib/ruby-prof/compatibility.rb
|
102
|
-
- lib/ruby-prof/dot_printer.rb
|
103
|
-
- lib/ruby-prof/empty.png
|
104
|
-
- lib/ruby-prof/flat_printer.rb
|
105
|
-
- lib/ruby-prof/flat_printer_with_line_numbers.rb
|
106
|
-
- lib/ruby-prof/graph_html_printer.rb
|
107
|
-
- lib/ruby-prof/graph_printer.rb
|
108
97
|
- lib/ruby-prof/method_info.rb
|
109
|
-
- lib/ruby-prof/minus.png
|
110
|
-
- lib/ruby-prof/multi_printer.rb
|
111
|
-
- lib/ruby-prof/plus.png
|
112
98
|
- lib/ruby-prof/profile.rb
|
113
99
|
- lib/ruby-prof/rack.rb
|
114
|
-
- lib/ruby-prof/symbol_to_proc.rb
|
115
100
|
- lib/ruby-prof/task.rb
|
116
101
|
- lib/ruby-prof/test.rb
|
117
|
-
- lib/ruby-prof.
|
118
|
-
- lib/
|
119
|
-
- lib/
|
120
|
-
- lib/
|
121
|
-
- lib/
|
122
|
-
- lib/
|
123
|
-
- lib/
|
102
|
+
- lib/ruby-prof/images/empty.png
|
103
|
+
- lib/ruby-prof/images/minus.png
|
104
|
+
- lib/ruby-prof/images/plus.png
|
105
|
+
- lib/ruby-prof/printers/abstract_printer.rb
|
106
|
+
- lib/ruby-prof/printers/call_info_printer.rb
|
107
|
+
- lib/ruby-prof/printers/call_stack_printer.rb
|
108
|
+
- lib/ruby-prof/printers/call_tree_printer.rb
|
109
|
+
- lib/ruby-prof/printers/dot_printer.rb
|
110
|
+
- lib/ruby-prof/printers/flat_printer.rb
|
111
|
+
- lib/ruby-prof/printers/flat_printer_with_line_numbers.rb
|
112
|
+
- lib/ruby-prof/printers/graph_html_printer.rb
|
113
|
+
- lib/ruby-prof/printers/graph_printer.rb
|
114
|
+
- lib/ruby-prof/printers/multi_printer.rb
|
124
115
|
- test/aggregate_test.rb
|
125
116
|
- test/basic_test.rb
|
126
117
|
- test/bug_test.rb
|
127
|
-
- test/
|
118
|
+
- test/call_info_visitor_test.rb
|
128
119
|
- test/duplicate_names_test.rb
|
129
120
|
- test/dynamic_method_test.rb
|
130
121
|
- test/enumerable_test.rb
|
131
122
|
- test/exceptions_test.rb
|
132
123
|
- test/exclude_threads_test.rb
|
133
124
|
- test/exec_test.rb
|
125
|
+
- test/gc_test.rb
|
134
126
|
- test/line_number_test.rb
|
135
127
|
- test/measure_allocations_test.rb
|
136
128
|
- test/measure_cpu_time_test.rb
|
@@ -151,48 +143,35 @@ files:
|
|
151
143
|
- test/stack_printer_test.rb
|
152
144
|
- test/stack_test.rb
|
153
145
|
- test/start_stop_test.rb
|
146
|
+
- test/summarize_test.rb
|
154
147
|
- test/test_helper.rb
|
155
148
|
- test/test_suite.rb
|
156
149
|
- test/thread_test.rb
|
157
150
|
- test/unique_call_path_test.rb
|
158
|
-
- ext/ruby_prof/extconf.rb
|
159
151
|
homepage: https://github.com/rdp/ruby-prof
|
160
152
|
licenses: []
|
161
|
-
|
162
153
|
post_install_message:
|
163
154
|
rdoc_options: []
|
164
|
-
|
165
|
-
require_paths:
|
155
|
+
require_paths:
|
166
156
|
- lib
|
167
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
168
158
|
none: false
|
169
|
-
requirements:
|
170
|
-
- -
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
hash: 57
|
173
|
-
segments:
|
174
|
-
- 1
|
175
|
-
- 8
|
176
|
-
- 7
|
159
|
+
requirements:
|
160
|
+
- - ! '>='
|
161
|
+
- !ruby/object:Gem::Version
|
177
162
|
version: 1.8.7
|
178
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
164
|
none: false
|
180
|
-
requirements:
|
181
|
-
- -
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
hash: 25
|
184
|
-
segments:
|
185
|
-
- 1
|
186
|
-
- 3
|
187
|
-
- 1
|
165
|
+
requirements:
|
166
|
+
- - ! '>'
|
167
|
+
- !ruby/object:Gem::Version
|
188
168
|
version: 1.3.1
|
189
169
|
requirements: []
|
190
|
-
|
191
170
|
rubyforge_project:
|
192
|
-
rubygems_version: 1.8.
|
171
|
+
rubygems_version: 1.8.21
|
193
172
|
signing_key:
|
194
173
|
specification_version: 3
|
195
174
|
summary: Fast Ruby profiler
|
196
|
-
test_files:
|
175
|
+
test_files:
|
197
176
|
- test/test_helper.rb
|
198
177
|
- test/test_suite.rb
|