ruby-prof 0.12.1 → 0.12.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +5 -1
- data/Rakefile +25 -7
- data/bin/ruby-prof +2 -2
- data/doc/LICENSE.html +155 -0
- data/doc/README_rdoc.html +640 -0
- data/doc/Rack.html +167 -0
- data/doc/Rack/RubyProf.html +319 -0
- data/doc/RubyProf.html +999 -0
- data/doc/RubyProf/AbstractPrinter.html +580 -0
- data/doc/RubyProf/AggregateCallInfo.html +570 -0
- data/doc/RubyProf/CallInfo.html +512 -0
- data/doc/RubyProf/CallInfoPrinter.html +190 -0
- data/doc/RubyProf/CallInfoVisitor.html +332 -0
- data/doc/RubyProf/CallStackPrinter.html +1597 -0
- data/doc/RubyProf/CallTreePrinter.html +413 -0
- data/doc/RubyProf/Cmd.html +669 -0
- data/doc/RubyProf/DotPrinter.html +312 -0
- data/doc/RubyProf/FlatPrinter.html +229 -0
- data/doc/RubyProf/FlatPrinterWithLineNumbers.html +267 -0
- data/doc/RubyProf/GraphHtmlPrinter.html +622 -0
- data/doc/RubyProf/GraphPrinter.html +209 -0
- data/doc/RubyProf/MethodInfo.html +713 -0
- data/doc/RubyProf/MultiPrinter.html +407 -0
- data/doc/RubyProf/Profile.html +821 -0
- data/doc/RubyProf/ProfileTask.html +532 -0
- data/doc/RubyProf/Test.html +578 -0
- data/doc/RubyProf/Thread.html +262 -0
- data/doc/created.rid +31 -0
- data/doc/examples/flat_txt.html +191 -0
- data/doc/examples/graph_txt.html +305 -0
- data/doc/images/add.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +639 -0
- data/doc/js/darkfish.js +153 -0
- data/doc/js/jquery.js +18 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search.js +94 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searcher.js +228 -0
- data/doc/rdoc.css +543 -0
- data/doc/table_of_contents.html +462 -0
- data/examples/empty.png +0 -0
- data/examples/minus.png +0 -0
- data/examples/plus.png +0 -0
- data/ext/ruby_prof/extconf.rb +5 -1
- data/ext/ruby_prof/rp_call_info.c +1 -1
- data/ext/ruby_prof/rp_measure_gc_time.c +6 -10
- data/ext/ruby_prof/rp_measure_memory.c +0 -1
- data/ext/ruby_prof/rp_stack.c +0 -5
- data/ext/ruby_prof/vc/ruby_prof_18.vcxproj +0 -2
- data/ext/ruby_prof/vc/ruby_prof_19.vcxproj +1 -3
- data/ext/ruby_prof/vc/ruby_prof_20.vcxproj +1 -3
- data/ext/ruby_prof/version.h +2 -2
- data/lib/ruby-prof/compatibility.rb +8 -3
- data/lib/ruby-prof/images/empty.png +0 -0
- data/lib/ruby-prof/images/minus.png +0 -0
- data/lib/ruby-prof/images/plus.png +0 -0
- data/lib/ruby-prof/task.rb +0 -0
- data/ruby-prof.gemspec +2 -1
- data/test/aggregate_test.rb +0 -0
- data/test/basic_test.rb +0 -0
- data/test/duplicate_names_test.rb +0 -0
- data/test/dynamic_method_test.rb +8 -1
- data/test/enumerable_test.rb +0 -0
- data/test/exceptions_test.rb +0 -0
- data/test/exclude_threads_test.rb +0 -0
- data/test/exec_test.rb +0 -0
- data/test/line_number_test.rb +0 -0
- data/test/measure_gc_runs_test.rb +4 -1
- data/test/measure_gc_time_test.rb +10 -3
- data/test/measure_memory_test.rb +3 -8
- data/test/measure_process_time_test.rb +10 -4
- data/test/method_elimination_test.rb +1 -2
- data/test/module_test.rb +0 -0
- data/test/multi_printer_test.rb +5 -6
- data/test/no_method_class_test.rb +0 -0
- data/test/pause_resume_test.rb +6 -8
- data/test/printers_test.rb +0 -0
- data/test/recursive_test.rb +0 -0
- data/test/singleton_test.rb +0 -0
- data/test/stack_printer_test.rb +8 -5
- data/test/stack_test.rb +0 -0
- data/test/start_stop_test.rb +0 -0
- data/test/test_helper.rb +16 -4
- data/test/thread_test.rb +0 -0
- data/test/unique_call_path_test.rb +0 -0
- metadata +90 -17
data/test/printers_test.rb
CHANGED
File without changes
|
data/test/recursive_test.rb
CHANGED
File without changes
|
data/test/singleton_test.rb
CHANGED
File without changes
|
data/test/stack_printer_test.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
# encoding: UTF-8
|
3
3
|
|
4
4
|
require File.expand_path('../test_helper', __FILE__)
|
5
|
-
require 'tmpdir'
|
6
5
|
|
7
6
|
# Test data
|
8
7
|
# A
|
@@ -43,9 +42,10 @@ class StackPrinterTest < Test::Unit::TestCase
|
|
43
42
|
|
44
43
|
file_contents = nil
|
45
44
|
assert_nothing_raised { file_contents = print(result) }
|
46
|
-
|
45
|
+
# TODO: why are thread ids negative on travis-ci.org (32 bit build maybe?)
|
46
|
+
assert_match(/Thread: (-?\d+) \(100\.00% ~ ([\.0-9]+)\)/, file_contents)
|
47
47
|
actual_time = $2.to_f
|
48
|
-
assert_in_delta(expected_time, actual_time, 0.
|
48
|
+
assert_in_delta(expected_time, actual_time, 0.5)
|
49
49
|
end
|
50
50
|
|
51
51
|
def test_method_elimination
|
@@ -64,10 +64,13 @@ class StackPrinterTest < Test::Unit::TestCase
|
|
64
64
|
private
|
65
65
|
def print(result)
|
66
66
|
test = caller.first =~ /in `(.*)'/ ? $1 : "test"
|
67
|
-
testfile_name = "#{
|
67
|
+
testfile_name = "#{RubyProf.tmpdir}/ruby_prof_#{test}.html"
|
68
|
+
# puts "printing to #{testfile_name}"
|
68
69
|
printer = RubyProf::CallStackPrinter.new(result)
|
69
70
|
File.open(testfile_name, "w") {|f| printer.print(f, :threshold => 0, :min_percent => 0, :title => "ruby_prof #{test}")}
|
70
71
|
system("open '#{testfile_name}'") if RUBY_PLATFORM =~ /darwin/ && ENV['SHOW_RUBY_PROF_PRINTER_OUTPUT']=="1"
|
71
|
-
File.
|
72
|
+
assert File.exist?(testfile_name), "#{testfile_name} does not exist"
|
73
|
+
assert File.readable?(testfile_name), "#{testfile_name} is no readable"
|
74
|
+
File.read(testfile_name)
|
72
75
|
end
|
73
76
|
end
|
data/test/stack_test.rb
CHANGED
File without changes
|
data/test/start_stop_test.rb
CHANGED
File without changes
|
data/test/test_helper.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
# Make ruby 1.8.7 happy
|
4
|
-
require "rubygems"
|
5
|
-
|
6
3
|
# Make RubyMine happy
|
4
|
+
require "rubygems"
|
7
5
|
gem "minitest"
|
8
6
|
|
9
7
|
if ENV["RM_INFO"] || ENV["TEAMCITY_VERSION"]
|
@@ -98,4 +96,18 @@ module RubyProf
|
|
98
96
|
def self.ruby_2?
|
99
97
|
ruby_major_version == 2
|
100
98
|
end
|
101
|
-
|
99
|
+
|
100
|
+
# store printer output in this directory
|
101
|
+
def self.tmpdir
|
102
|
+
File.expand_path('../../tmp', __FILE__)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
module MemoryTestHelper
|
107
|
+
def memory_test_helper
|
108
|
+
result = RubyProf.profile {Array.new}
|
109
|
+
total = result.threads.first.methods.inject(0) { |sum, m| sum + m.total_time }
|
110
|
+
assert(total < 1_000_000, 'Total should not have subtract overflow error')
|
111
|
+
total
|
112
|
+
end
|
113
|
+
end
|
data/test/thread_test.rb
CHANGED
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-prof
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,14 +9,14 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ">="
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
38
|
type: :development
|
@@ -40,22 +40,32 @@ dependencies:
|
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
-
|
47
|
-
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rdoc
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
description: |
|
63
|
+
ruby-prof is a fast code profiler for Ruby. It is a C extension and
|
48
64
|
therefore is many times faster than the standard Ruby profiler. It
|
49
|
-
|
50
65
|
supports both flat and graph profiles. For each method, graph profiles
|
51
|
-
|
52
66
|
show how long the method ran, which methods called it and which
|
53
|
-
|
54
67
|
methods it called. RubyProf generate both text and html and can output
|
55
|
-
|
56
68
|
it to standard out or to a file.
|
57
|
-
|
58
|
-
'
|
59
69
|
email: shugo@ruby-lang.org, cfis@savagexi.com, rogerdpack@gmail.com, skaes@railsexpress.de
|
60
70
|
executables:
|
61
71
|
- ruby-prof
|
@@ -69,6 +79,66 @@ files:
|
|
69
79
|
- README.rdoc
|
70
80
|
- ruby-prof.gemspec
|
71
81
|
- bin/ruby-prof
|
82
|
+
- doc/created.rid
|
83
|
+
- doc/examples/flat_txt.html
|
84
|
+
- doc/examples/graph_txt.html
|
85
|
+
- doc/images/add.png
|
86
|
+
- doc/images/brick.png
|
87
|
+
- doc/images/brick_link.png
|
88
|
+
- doc/images/bug.png
|
89
|
+
- doc/images/bullet_black.png
|
90
|
+
- doc/images/bullet_toggle_minus.png
|
91
|
+
- doc/images/bullet_toggle_plus.png
|
92
|
+
- doc/images/date.png
|
93
|
+
- doc/images/delete.png
|
94
|
+
- doc/images/find.png
|
95
|
+
- doc/images/loadingAnimation.gif
|
96
|
+
- doc/images/macFFBgHack.png
|
97
|
+
- doc/images/package.png
|
98
|
+
- doc/images/page_green.png
|
99
|
+
- doc/images/page_white_text.png
|
100
|
+
- doc/images/page_white_width.png
|
101
|
+
- doc/images/plugin.png
|
102
|
+
- doc/images/ruby.png
|
103
|
+
- doc/images/tag_blue.png
|
104
|
+
- doc/images/tag_green.png
|
105
|
+
- doc/images/transparent.png
|
106
|
+
- doc/images/wrench.png
|
107
|
+
- doc/images/wrench_orange.png
|
108
|
+
- doc/images/zoom.png
|
109
|
+
- doc/index.html
|
110
|
+
- doc/js/darkfish.js
|
111
|
+
- doc/js/jquery.js
|
112
|
+
- doc/js/navigation.js
|
113
|
+
- doc/js/search.js
|
114
|
+
- doc/js/search_index.js
|
115
|
+
- doc/js/searcher.js
|
116
|
+
- doc/LICENSE.html
|
117
|
+
- doc/Rack/RubyProf.html
|
118
|
+
- doc/Rack.html
|
119
|
+
- doc/rdoc.css
|
120
|
+
- doc/README_rdoc.html
|
121
|
+
- doc/RubyProf/AbstractPrinter.html
|
122
|
+
- doc/RubyProf/AggregateCallInfo.html
|
123
|
+
- doc/RubyProf/CallInfo.html
|
124
|
+
- doc/RubyProf/CallInfoPrinter.html
|
125
|
+
- doc/RubyProf/CallInfoVisitor.html
|
126
|
+
- doc/RubyProf/CallStackPrinter.html
|
127
|
+
- doc/RubyProf/CallTreePrinter.html
|
128
|
+
- doc/RubyProf/Cmd.html
|
129
|
+
- doc/RubyProf/DotPrinter.html
|
130
|
+
- doc/RubyProf/FlatPrinter.html
|
131
|
+
- doc/RubyProf/FlatPrinterWithLineNumbers.html
|
132
|
+
- doc/RubyProf/GraphHtmlPrinter.html
|
133
|
+
- doc/RubyProf/GraphPrinter.html
|
134
|
+
- doc/RubyProf/MethodInfo.html
|
135
|
+
- doc/RubyProf/MultiPrinter.html
|
136
|
+
- doc/RubyProf/Profile.html
|
137
|
+
- doc/RubyProf/ProfileTask.html
|
138
|
+
- doc/RubyProf/Test.html
|
139
|
+
- doc/RubyProf/Thread.html
|
140
|
+
- doc/RubyProf.html
|
141
|
+
- doc/table_of_contents.html
|
72
142
|
- examples/empty.png
|
73
143
|
- examples/flat.txt
|
74
144
|
- examples/graph.dot
|
@@ -175,18 +245,21 @@ require_paths:
|
|
175
245
|
required_ruby_version: !ruby/object:Gem::Requirement
|
176
246
|
none: false
|
177
247
|
requirements:
|
178
|
-
- -
|
248
|
+
- - ">="
|
179
249
|
- !ruby/object:Gem::Version
|
180
250
|
version: 1.8.7
|
181
251
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
252
|
none: false
|
183
253
|
requirements:
|
184
|
-
- -
|
254
|
+
- - ">="
|
185
255
|
- !ruby/object:Gem::Version
|
186
256
|
version: '0'
|
257
|
+
segments:
|
258
|
+
- 0
|
259
|
+
hash: -223596189223231347
|
187
260
|
requirements: []
|
188
261
|
rubyforge_project:
|
189
|
-
rubygems_version: 1.8.
|
262
|
+
rubygems_version: 1.8.25
|
190
263
|
signing_key:
|
191
264
|
specification_version: 3
|
192
265
|
summary: Fast Ruby profiler
|