ruby-prof 0.15.4 → 0.15.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +7 -1
  3. data/README.rdoc +1 -1
  4. data/bin/ruby-prof +16 -4
  5. data/doc/LICENSE.html +114 -0
  6. data/doc/README_rdoc.html +592 -0
  7. data/doc/Rack.html +95 -0
  8. data/doc/Rack/RubyProf.html +264 -0
  9. data/doc/RubyProf.html +962 -0
  10. data/doc/RubyProf/AbstractPrinter.html +546 -0
  11. data/doc/RubyProf/AggregateCallInfo.html +537 -0
  12. data/doc/RubyProf/CallInfo.html +468 -0
  13. data/doc/RubyProf/CallInfoPrinter.html +120 -0
  14. data/doc/RubyProf/CallInfoVisitor.html +200 -0
  15. data/doc/RubyProf/CallStackPrinter.html +1604 -0
  16. data/doc/RubyProf/CallTreePrinter.html +359 -0
  17. data/doc/RubyProf/Cmd.html +631 -0
  18. data/doc/RubyProf/DotPrinter.html +257 -0
  19. data/doc/RubyProf/FlatPrinter.html +163 -0
  20. data/doc/RubyProf/FlatPrinterWithLineNumbers.html +208 -0
  21. data/doc/RubyProf/GraphHtmlPrinter.html +575 -0
  22. data/doc/RubyProf/GraphPrinter.html +139 -0
  23. data/doc/RubyProf/MethodInfo.html +685 -0
  24. data/doc/RubyProf/MultiPrinter.html +358 -0
  25. data/doc/RubyProf/Profile.html +764 -0
  26. data/doc/RubyProf/ProfileTask.html +490 -0
  27. data/doc/RubyProf/Thread.html +199 -0
  28. data/doc/created.rid +14 -14
  29. data/doc/examples/flat_txt.html +149 -0
  30. data/doc/examples/graph_html.html +850 -0
  31. data/doc/examples/graph_txt.html +274 -0
  32. data/doc/images/add.png +0 -0
  33. data/doc/images/arrow_up.png +0 -0
  34. data/doc/images/brick.png +0 -0
  35. data/doc/images/brick_link.png +0 -0
  36. data/doc/images/bug.png +0 -0
  37. data/doc/images/bullet_black.png +0 -0
  38. data/doc/images/bullet_toggle_minus.png +0 -0
  39. data/doc/images/bullet_toggle_plus.png +0 -0
  40. data/doc/images/date.png +0 -0
  41. data/doc/images/delete.png +0 -0
  42. data/doc/images/find.png +0 -0
  43. data/doc/images/macFFBgHack.png +0 -0
  44. data/doc/images/package.png +0 -0
  45. data/doc/images/page_green.png +0 -0
  46. data/doc/images/page_white_text.png +0 -0
  47. data/doc/images/page_white_width.png +0 -0
  48. data/doc/images/plugin.png +0 -0
  49. data/doc/images/ruby.png +0 -0
  50. data/doc/images/tag_blue.png +0 -0
  51. data/doc/images/tag_green.png +0 -0
  52. data/doc/images/transparent.png +0 -0
  53. data/doc/images/wrench.png +0 -0
  54. data/doc/images/wrench_orange.png +0 -0
  55. data/doc/images/zoom.png +0 -0
  56. data/doc/index.html +618 -0
  57. data/doc/js/search_index.js.gz +0 -0
  58. data/doc/table_of_contents.html +859 -0
  59. data/lib/ruby-prof/printers/flat_printer_with_line_numbers.rb +21 -14
  60. data/lib/ruby-prof/printers/graph_printer.rb +1 -0
  61. data/lib/ruby-prof/version.rb +1 -1
  62. data/test/measure_cpu_time_test.rb +1 -1
  63. metadata +54 -2
@@ -0,0 +1,95 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module Rack - ruby-prof</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="module">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="./index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="./table_of_contents.html#pages">Pages</a>
31
+ <a href="./table_of_contents.html#classes">Classes</a>
32
+ <a href="./table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+
58
+
59
+
60
+
61
+ </div>
62
+ </nav>
63
+
64
+ <main role="main" aria-labelledby="module-Rack">
65
+ <h1 id="module-Rack" class="module">
66
+ module Rack
67
+ </h1>
68
+
69
+ <section class="description">
70
+
71
+ </section>
72
+
73
+
74
+
75
+
76
+ <section id="5Buntitled-5D" class="documentation-section">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+ </section>
87
+ </main>
88
+
89
+
90
+ <footer id="validator-badges" role="contentinfo">
91
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
92
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
93
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
94
+ </footer>
95
+
@@ -0,0 +1,264 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Rack::RubyProf - ruby-prof</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ </script>
12
+
13
+ <script src="../js/jquery.js"></script>
14
+ <script src="../js/darkfish.js"></script>
15
+
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="class">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="../index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="../table_of_contents.html#pages">Pages</a>
31
+ <a href="../table_of_contents.html#classes">Classes</a>
32
+ <a href="../table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+ <div id="parent-class-section" class="nav-section">
58
+ <h3>Parent</h3>
59
+
60
+
61
+ <p class="link">Object
62
+
63
+ </div>
64
+
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <div id="method-list-section" class="nav-section">
69
+ <h3>Methods</h3>
70
+
71
+ <ul class="link-list" role="directory">
72
+
73
+ <li ><a href="#method-c-new">::new</a>
74
+
75
+ <li ><a href="#method-i-call">#call</a>
76
+
77
+ <li ><a href="#method-i-print">#print</a>
78
+
79
+ </ul>
80
+ </div>
81
+
82
+ </div>
83
+ </nav>
84
+
85
+ <main role="main" aria-labelledby="class-Rack::RubyProf">
86
+ <h1 id="class-Rack::RubyProf" class="class">
87
+ class Rack::RubyProf
88
+ </h1>
89
+
90
+ <section class="description">
91
+
92
+ </section>
93
+
94
+
95
+
96
+
97
+ <section id="5Buntitled-5D" class="documentation-section">
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
108
+ <header>
109
+ <h3>Public Class Methods</h3>
110
+ </header>
111
+
112
+
113
+ <div id="method-c-new" class="method-detail ">
114
+
115
+ <div class="method-heading">
116
+ <span class="method-name">new</span><span
117
+ class="method-args">(app, options = {})</span>
118
+
119
+ <span class="method-click-advice">click to toggle source</span>
120
+
121
+ </div>
122
+
123
+
124
+ <div class="method-description">
125
+
126
+
127
+
128
+
129
+
130
+
131
+ <div class="method-source-code" id="new-source">
132
+ <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 5</span>
133
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">options</span> = {})
134
+ <span class="ruby-ivar">@app</span> = <span class="ruby-identifier">app</span>
135
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
136
+ <span class="ruby-ivar">@options</span>[<span class="ruby-value">:min_percent</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">1</span>
137
+
138
+ <span class="ruby-ivar">@tmpdir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">tmpdir</span>
139
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-ivar">@tmpdir</span>)
140
+
141
+ <span class="ruby-ivar">@printer_klasses</span> = <span class="ruby-ivar">@options</span>[<span class="ruby-value">:printers</span>] <span class="ruby-operator">||</span> {<span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">FlatPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;flat.txt&#39;</span>,
142
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.txt&#39;</span>,
143
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphHtmlPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.html&#39;</span>,
144
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CallStackPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;call_stack.html&#39;</span>}
145
+
146
+ <span class="ruby-ivar">@skip_paths</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:skip_paths</span>] <span class="ruby-operator">||</span> [<span class="ruby-regexp">%r{^/assets}</span>, <span class="ruby-regexp">%r{\.css$}</span>, <span class="ruby-regexp">%r{\.js$}</span>, <span class="ruby-regexp">%r{\.png$}</span>, <span class="ruby-regexp">%r{\.jpeg$}</span>, <span class="ruby-regexp">%r{\.jpg$}</span>, <span class="ruby-regexp">%r{\.gif$}</span>]
147
+ <span class="ruby-keyword">end</span></pre>
148
+ </div>
149
+
150
+ </div>
151
+
152
+
153
+
154
+
155
+ </div>
156
+
157
+
158
+ </section>
159
+
160
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
161
+ <header>
162
+ <h3>Public Instance Methods</h3>
163
+ </header>
164
+
165
+
166
+ <div id="method-i-call" class="method-detail ">
167
+
168
+ <div class="method-heading">
169
+ <span class="method-name">call</span><span
170
+ class="method-args">(env)</span>
171
+
172
+ <span class="method-click-advice">click to toggle source</span>
173
+
174
+ </div>
175
+
176
+
177
+ <div class="method-description">
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <div class="method-source-code" id="call-source">
185
+ <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 21</span>
186
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
187
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">env</span>)
188
+
189
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@skip_paths</span>.<span class="ruby-identifier">any?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">skip_path</span><span class="ruby-operator">|</span> <span class="ruby-identifier">skip_path</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>}
190
+ <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
191
+ <span class="ruby-keyword">else</span>
192
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
193
+ <span class="ruby-identifier">data</span> = <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">Profile</span>.<span class="ruby-identifier">profile</span> <span class="ruby-keyword">do</span>
194
+ <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
195
+ <span class="ruby-keyword">end</span>
196
+
197
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;/&#39;</span>, <span class="ruby-string">&#39;-&#39;</span>)
198
+ <span class="ruby-identifier">path</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>)
199
+
200
+ <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
201
+ <span class="ruby-identifier">result</span>
202
+ <span class="ruby-keyword">end</span>
203
+ <span class="ruby-keyword">end</span></pre>
204
+ </div>
205
+
206
+ </div>
207
+
208
+
209
+
210
+
211
+ </div>
212
+
213
+
214
+ <div id="method-i-print" class="method-detail ">
215
+
216
+ <div class="method-heading">
217
+ <span class="method-name">print</span><span
218
+ class="method-args">(data, path)</span>
219
+
220
+ <span class="method-click-advice">click to toggle source</span>
221
+
222
+ </div>
223
+
224
+
225
+ <div class="method-description">
226
+
227
+
228
+
229
+
230
+
231
+
232
+ <div class="method-source-code" id="print-source">
233
+ <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 40</span>
234
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
235
+ <span class="ruby-ivar">@printer_klasses</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">printer_klass</span>, <span class="ruby-identifier">base_name</span><span class="ruby-operator">|</span>
236
+ <span class="ruby-identifier">printer</span> = <span class="ruby-identifier">printer_klass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data</span>)
237
+ <span class="ruby-identifier">file_name</span> = <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@tmpdir</span>, <span class="ruby-node">&quot;#{path}-#{base_name}&quot;</span>)
238
+ <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_name</span>, <span class="ruby-string">&#39;wb&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
239
+ <span class="ruby-identifier">printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@options</span>)
240
+ <span class="ruby-keyword">end</span>
241
+ <span class="ruby-keyword">end</span>
242
+ <span class="ruby-keyword">end</span></pre>
243
+ </div>
244
+
245
+ </div>
246
+
247
+
248
+
249
+
250
+ </div>
251
+
252
+
253
+ </section>
254
+
255
+ </section>
256
+ </main>
257
+
258
+
259
+ <footer id="validator-badges" role="contentinfo">
260
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
261
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
262
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
263
+ </footer>
264
+
@@ -0,0 +1,962 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module RubyProf - ruby-prof</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="module">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="./index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="./table_of_contents.html#pages">Pages</a>
31
+ <a href="./table_of_contents.html#classes">Classes</a>
32
+ <a href="./table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+
58
+
59
+
60
+ <!-- Method Quickref -->
61
+ <div id="method-list-section" class="nav-section">
62
+ <h3>Methods</h3>
63
+
64
+ <ul class="link-list" role="directory">
65
+
66
+ <li ><a href="#method-c-cpu_frequency">::cpu_frequency</a>
67
+
68
+ <li ><a href="#method-c-exclude_threads">::exclude_threads</a>
69
+
70
+ <li ><a href="#method-c-exclude_threads-3D">::exclude_threads=</a>
71
+
72
+ <li ><a href="#method-c-figure_measure_mode">::figure_measure_mode</a>
73
+
74
+ <li ><a href="#method-c-measure_allocations">::measure_allocations</a>
75
+
76
+ <li ><a href="#method-c-measure_cpu_time">::measure_cpu_time</a>
77
+
78
+ <li ><a href="#method-c-measure_gc_runs">::measure_gc_runs</a>
79
+
80
+ <li ><a href="#method-c-measure_gc_time">::measure_gc_time</a>
81
+
82
+ <li ><a href="#method-c-measure_memory">::measure_memory</a>
83
+
84
+ <li ><a href="#method-c-measure_mode">::measure_mode</a>
85
+
86
+ <li ><a href="#method-c-measure_mode-3D">::measure_mode=</a>
87
+
88
+ <li ><a href="#method-c-measure_mode_string">::measure_mode_string</a>
89
+
90
+ <li ><a href="#method-c-measure_process_time">::measure_process_time</a>
91
+
92
+ <li ><a href="#method-c-measure_wall_time">::measure_wall_time</a>
93
+
94
+ <li ><a href="#method-c-pause">::pause</a>
95
+
96
+ <li ><a href="#method-c-profile">::profile</a>
97
+
98
+ <li ><a href="#method-c-resume">::resume</a>
99
+
100
+ <li ><a href="#method-c-running-3F">::running?</a>
101
+
102
+ <li ><a href="#method-c-start">::start</a>
103
+
104
+ <li ><a href="#method-c-start_script">::start_script</a>
105
+
106
+ <li ><a href="#method-c-stop">::stop</a>
107
+
108
+ </ul>
109
+ </div>
110
+
111
+ </div>
112
+ </nav>
113
+
114
+ <main role="main" aria-labelledby="module-RubyProf">
115
+ <h1 id="module-RubyProf" class="module">
116
+ module RubyProf
117
+ </h1>
118
+
119
+ <section class="description">
120
+
121
+ <p>The call info visitor class does a depth-first traversal across a
122
+ thread&#39;s call stack. At each call_info node, the visitor executes the
123
+ block provided in the visit method. The block is passed two parameters,
124
+ the event and the call_info instance. Event will be either :enter or
125
+ :exit.</p>
126
+
127
+ <pre class="ruby"><span class="ruby-identifier">visitor</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CallInfoVisitor</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>.<span class="ruby-identifier">threads</span>.<span class="ruby-identifier">first</span>)
128
+
129
+ <span class="ruby-identifier">method_names</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
130
+
131
+ <span class="ruby-identifier">visitor</span>.<span class="ruby-identifier">visit</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">call_info</span>, <span class="ruby-identifier">event</span><span class="ruby-operator">|</span>
132
+ <span class="ruby-identifier">method_names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">call_info</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">full_name</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">==</span> :<span class="ruby-identifier">enter</span>
133
+ <span class="ruby-keyword">end</span>
134
+
135
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">method_names</span>
136
+ </pre>
137
+
138
+ <p>These methods are here for backwards compatability with previous <a
139
+ href="RubyProf.html">RubyProf</a> releases</p>
140
+
141
+ </section>
142
+
143
+
144
+
145
+
146
+ <section id="5Buntitled-5D" class="documentation-section">
147
+
148
+
149
+
150
+
151
+
152
+ <section class="constants-list">
153
+ <header>
154
+ <h3>Constants</h3>
155
+ </header>
156
+ <dl>
157
+
158
+ <dt id="VERSION">VERSION
159
+
160
+ <dd>
161
+
162
+
163
+ </dl>
164
+ </section>
165
+
166
+
167
+
168
+
169
+
170
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
171
+ <header>
172
+ <h3>Public Class Methods</h3>
173
+ </header>
174
+
175
+
176
+ <div id="method-c-cpu_frequency" class="method-detail ">
177
+
178
+ <div class="method-heading">
179
+ <span class="method-name">cpu_frequency</span><span
180
+ class="method-args">()</span>
181
+
182
+ <span class="method-click-advice">click to toggle source</span>
183
+
184
+ </div>
185
+
186
+
187
+ <div class="method-description">
188
+
189
+ <p>Measurements</p>
190
+
191
+
192
+
193
+
194
+ <div class="method-source-code" id="cpu_frequency-source">
195
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 5</span>
196
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">cpu_frequency</span>
197
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">CpuTime</span>.<span class="ruby-identifier">frequency</span>
198
+ <span class="ruby-keyword">end</span></pre>
199
+ </div>
200
+
201
+ </div>
202
+
203
+
204
+
205
+
206
+ </div>
207
+
208
+
209
+ <div id="method-c-exclude_threads" class="method-detail ">
210
+
211
+
212
+ <div class="method-heading">
213
+ <span class="method-callseq">
214
+ exclude_threads &rarr; exclude_threads
215
+ </span>
216
+
217
+ <span class="method-click-advice">click to toggle source</span>
218
+
219
+ </div>
220
+
221
+
222
+
223
+ <div class="method-description">
224
+
225
+ <p>Returns threads ruby-prof should exclude from profiling</p>
226
+
227
+
228
+
229
+
230
+ <div class="method-source-code" id="exclude_threads-source">
231
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 87</span>
232
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exclude_threads</span>
233
+ <span class="ruby-ivar">@exclude_threads</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
234
+ <span class="ruby-keyword">end</span></pre>
235
+ </div>
236
+
237
+ </div>
238
+
239
+
240
+
241
+
242
+ </div>
243
+
244
+
245
+ <div id="method-c-exclude_threads-3D" class="method-detail ">
246
+
247
+
248
+ <div class="method-heading">
249
+ <span class="method-callseq">
250
+ exclude_threads= &rarr; void
251
+ </span>
252
+
253
+ <span class="method-click-advice">click to toggle source</span>
254
+
255
+ </div>
256
+
257
+
258
+
259
+ <div class="method-description">
260
+
261
+ <p>Specifies what threads ruby-prof should exclude from profiling</p>
262
+
263
+
264
+
265
+
266
+ <div class="method-source-code" id="exclude_threads-3D-source">
267
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 96</span>
268
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exclude_threads=</span>(<span class="ruby-identifier">value</span>)
269
+ <span class="ruby-ivar">@exclude_threads</span> = <span class="ruby-identifier">value</span>
270
+ <span class="ruby-keyword">end</span></pre>
271
+ </div>
272
+
273
+ </div>
274
+
275
+
276
+
277
+
278
+ </div>
279
+
280
+
281
+ <div id="method-c-figure_measure_mode" class="method-detail ">
282
+
283
+ <div class="method-heading">
284
+ <span class="method-name">figure_measure_mode</span><span
285
+ class="method-args">()</span>
286
+
287
+ <span class="method-click-advice">click to toggle source</span>
288
+
289
+ </div>
290
+
291
+
292
+ <div class="method-description">
293
+
294
+ <p>Checks if the user specified the clock mode via the RUBY_PROF_MEASURE_MODE
295
+ environment variable</p>
296
+
297
+
298
+
299
+
300
+ <div class="method-source-code" id="figure_measure_mode-source">
301
+ <pre><span class="ruby-comment"># File lib/ruby-prof.rb, line 34</span>
302
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">figure_measure_mode</span>
303
+ <span class="ruby-keyword">case</span> <span class="ruby-constant">ENV</span>[<span class="ruby-string">&quot;RUBY_PROF_MEASURE_MODE&quot;</span>]
304
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;wall&quot;</span>, <span class="ruby-string">&quot;wall_time&quot;</span>
305
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">WALL_TIME</span>
306
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;cpu&quot;</span>, <span class="ruby-string">&quot;cpu_time&quot;</span>
307
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CPU_TIME</span>
308
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;allocations&quot;</span>
309
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">ALLOCATIONS</span>
310
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;memory&quot;</span>
311
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">MEMORY</span>
312
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;process&quot;</span>, <span class="ruby-string">&quot;process_time&quot;</span>
313
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">PROCESS_TIME</span>
314
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;gc_time&quot;</span>
315
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GC_TIME</span>
316
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&quot;gc_runs&quot;</span>
317
+ <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GC_RUNS</span>
318
+ <span class="ruby-keyword">else</span>
319
+ <span class="ruby-comment"># the default is defined in the measure_mode reader</span>
320
+ <span class="ruby-keyword">end</span>
321
+ <span class="ruby-keyword">end</span></pre>
322
+ </div>
323
+
324
+ </div>
325
+
326
+
327
+
328
+
329
+ </div>
330
+
331
+
332
+ <div id="method-c-measure_allocations" class="method-detail ">
333
+
334
+ <div class="method-heading">
335
+ <span class="method-name">measure_allocations</span><span
336
+ class="method-args">()</span>
337
+
338
+ <span class="method-click-advice">click to toggle source</span>
339
+
340
+ </div>
341
+
342
+
343
+ <div class="method-description">
344
+
345
+
346
+
347
+
348
+
349
+
350
+ <div class="method-source-code" id="measure_allocations-source">
351
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 9</span>
352
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_allocations</span>
353
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">Allocations</span>.<span class="ruby-identifier">measure</span>
354
+ <span class="ruby-keyword">end</span></pre>
355
+ </div>
356
+
357
+ </div>
358
+
359
+
360
+
361
+
362
+ </div>
363
+
364
+
365
+ <div id="method-c-measure_cpu_time" class="method-detail ">
366
+
367
+ <div class="method-heading">
368
+ <span class="method-name">measure_cpu_time</span><span
369
+ class="method-args">()</span>
370
+
371
+ <span class="method-click-advice">click to toggle source</span>
372
+
373
+ </div>
374
+
375
+
376
+ <div class="method-description">
377
+
378
+
379
+
380
+
381
+
382
+
383
+ <div class="method-source-code" id="measure_cpu_time-source">
384
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 13</span>
385
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_cpu_time</span>
386
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">CpuTime</span>.<span class="ruby-identifier">measure</span>
387
+ <span class="ruby-keyword">end</span></pre>
388
+ </div>
389
+
390
+ </div>
391
+
392
+
393
+
394
+
395
+ </div>
396
+
397
+
398
+ <div id="method-c-measure_gc_runs" class="method-detail ">
399
+
400
+ <div class="method-heading">
401
+ <span class="method-name">measure_gc_runs</span><span
402
+ class="method-args">()</span>
403
+
404
+ <span class="method-click-advice">click to toggle source</span>
405
+
406
+ </div>
407
+
408
+
409
+ <div class="method-description">
410
+
411
+
412
+
413
+
414
+
415
+
416
+ <div class="method-source-code" id="measure_gc_runs-source">
417
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 17</span>
418
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_gc_runs</span>
419
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">GcRuns</span>.<span class="ruby-identifier">measure</span>
420
+ <span class="ruby-keyword">end</span></pre>
421
+ </div>
422
+
423
+ </div>
424
+
425
+
426
+
427
+
428
+ </div>
429
+
430
+
431
+ <div id="method-c-measure_gc_time" class="method-detail ">
432
+
433
+ <div class="method-heading">
434
+ <span class="method-name">measure_gc_time</span><span
435
+ class="method-args">()</span>
436
+
437
+ <span class="method-click-advice">click to toggle source</span>
438
+
439
+ </div>
440
+
441
+
442
+ <div class="method-description">
443
+
444
+
445
+
446
+
447
+
448
+
449
+ <div class="method-source-code" id="measure_gc_time-source">
450
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 21</span>
451
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_gc_time</span>
452
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">GcTime</span>.<span class="ruby-identifier">measure</span>
453
+ <span class="ruby-keyword">end</span></pre>
454
+ </div>
455
+
456
+ </div>
457
+
458
+
459
+
460
+
461
+ </div>
462
+
463
+
464
+ <div id="method-c-measure_memory" class="method-detail ">
465
+
466
+ <div class="method-heading">
467
+ <span class="method-name">measure_memory</span><span
468
+ class="method-args">()</span>
469
+
470
+ <span class="method-click-advice">click to toggle source</span>
471
+
472
+ </div>
473
+
474
+
475
+ <div class="method-description">
476
+
477
+
478
+
479
+
480
+
481
+
482
+ <div class="method-source-code" id="measure_memory-source">
483
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 25</span>
484
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_memory</span>
485
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">Memory</span>.<span class="ruby-identifier">measure</span>
486
+ <span class="ruby-keyword">end</span></pre>
487
+ </div>
488
+
489
+ </div>
490
+
491
+
492
+
493
+
494
+ </div>
495
+
496
+
497
+ <div id="method-c-measure_mode" class="method-detail ">
498
+
499
+
500
+ <div class="method-heading">
501
+ <span class="method-callseq">
502
+ measure_mode &rarr; measure_mode
503
+ </span>
504
+
505
+ <span class="method-click-advice">click to toggle source</span>
506
+
507
+ </div>
508
+
509
+
510
+
511
+ <div class="method-description">
512
+
513
+ <p>Returns what ruby-prof is measuring. Valid values include:</p>
514
+
515
+ <p>*RubyProf::PROCESS_TIME - Measure process time. This is default. It is
516
+ implemented using the clock functions in the C Runtime library.
517
+ *RubyProf::WALL_TIME - Measure wall time using gettimeofday on Linx and
518
+ GetLocalTime on Windows *RubyProf::CPU_TIME - Measure time using the CPU
519
+ clock counter. This mode is only supported on Pentium or PowerPC
520
+ platforms. *RubyProf::ALLOCATIONS - Measure object allocations. This
521
+ requires a patched Ruby interpreter. *RubyProf::MEMORY - Measure memory
522
+ size. This requires a patched Ruby interpreter. *RubyProf::GC_RUNS -
523
+ Measure number of garbage collections. This requires a patched Ruby
524
+ interpreter. *RubyProf::GC_TIME - Measure time spent doing garbage
525
+ collection. This requires a patched Ruby interpreter.*/</p>
526
+
527
+
528
+
529
+
530
+ <div class="method-source-code" id="measure_mode-source">
531
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 50</span>
532
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_mode</span>
533
+ <span class="ruby-ivar">@measure_mode</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">WALL_TIME</span>
534
+ <span class="ruby-keyword">end</span></pre>
535
+ </div>
536
+
537
+ </div>
538
+
539
+
540
+
541
+
542
+ </div>
543
+
544
+
545
+ <div id="method-c-measure_mode-3D" class="method-detail ">
546
+
547
+
548
+ <div class="method-heading">
549
+ <span class="method-callseq">
550
+ measure_mode=value &rarr; void
551
+ </span>
552
+
553
+ <span class="method-click-advice">click to toggle source</span>
554
+
555
+ </div>
556
+
557
+
558
+
559
+ <div class="method-description">
560
+
561
+ <p>Specifies what ruby-prof should measure. Valid values include:</p>
562
+
563
+ <p>*RubyProf::PROCESS_TIME - Measure process time. This is default. It is
564
+ implemented using the clock functions in the C Runtime library.
565
+ *RubyProf::WALL_TIME - Measure wall time using gettimeofday on Linx and
566
+ GetLocalTime on Windows *RubyProf::CPU_TIME - Measure time using the CPU
567
+ clock counter. This mode is only supported on Pentium or PowerPC
568
+ platforms. *RubyProf::ALLOCATIONS - Measure object allocations. This
569
+ requires a patched Ruby interpreter. *RubyProf::MEMORY - Measure memory
570
+ size. This requires a patched Ruby interpreter. *RubyProf::GC_RUNS -
571
+ Measure number of garbage collections. This requires a patched Ruby
572
+ interpreter. *RubyProf::GC_TIME - Measure time spent doing garbage
573
+ collection. This requires a patched Ruby interpreter.*/</p>
574
+
575
+
576
+
577
+
578
+ <div class="method-source-code" id="measure_mode-3D-source">
579
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 66</span>
580
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_mode=</span>(<span class="ruby-identifier">value</span>)
581
+ <span class="ruby-ivar">@measure_mode</span> = <span class="ruby-identifier">value</span>
582
+ <span class="ruby-keyword">end</span></pre>
583
+ </div>
584
+
585
+ </div>
586
+
587
+
588
+
589
+
590
+ </div>
591
+
592
+
593
+ <div id="method-c-measure_mode_string" class="method-detail ">
594
+
595
+ <div class="method-heading">
596
+ <span class="method-name">measure_mode_string</span><span
597
+ class="method-args">()</span>
598
+
599
+ <span class="method-click-advice">click to toggle source</span>
600
+
601
+ </div>
602
+
603
+
604
+ <div class="method-description">
605
+
606
+
607
+
608
+
609
+
610
+
611
+ <div class="method-source-code" id="measure_mode_string-source">
612
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 70</span>
613
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_mode_string</span>
614
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">measure_mode</span>
615
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">WALL_TIME</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;wall_time&quot;</span>
616
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">CPU_TIME</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;cpu_time&quot;</span>
617
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">PROCESS_TIME</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;process_time_time&quot;</span>
618
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">ALLOCATIONS</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;allocations&quot;</span>
619
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">MEMORY</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;memory&quot;</span>
620
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">GC_TIME</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;gc_time&quot;</span>
621
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">GC_RUNS</span> <span class="ruby-keyword">then</span> <span class="ruby-string">&quot;gc_runs&quot;</span>
622
+ <span class="ruby-keyword">end</span>
623
+ <span class="ruby-keyword">end</span></pre>
624
+ </div>
625
+
626
+ </div>
627
+
628
+
629
+
630
+
631
+ </div>
632
+
633
+
634
+ <div id="method-c-measure_process_time" class="method-detail ">
635
+
636
+ <div class="method-heading">
637
+ <span class="method-name">measure_process_time</span><span
638
+ class="method-args">()</span>
639
+
640
+ <span class="method-click-advice">click to toggle source</span>
641
+
642
+ </div>
643
+
644
+
645
+ <div class="method-description">
646
+
647
+
648
+
649
+
650
+
651
+
652
+ <div class="method-source-code" id="measure_process_time-source">
653
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 29</span>
654
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_process_time</span>
655
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">ProcessTime</span>.<span class="ruby-identifier">measure</span>
656
+ <span class="ruby-keyword">end</span></pre>
657
+ </div>
658
+
659
+ </div>
660
+
661
+
662
+
663
+
664
+ </div>
665
+
666
+
667
+ <div id="method-c-measure_wall_time" class="method-detail ">
668
+
669
+ <div class="method-heading">
670
+ <span class="method-name">measure_wall_time</span><span
671
+ class="method-args">()</span>
672
+
673
+ <span class="method-click-advice">click to toggle source</span>
674
+
675
+ </div>
676
+
677
+
678
+ <div class="method-description">
679
+
680
+
681
+
682
+
683
+
684
+
685
+ <div class="method-source-code" id="measure_wall_time-source">
686
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 33</span>
687
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_wall_time</span>
688
+ <span class="ruby-constant">Measure</span><span class="ruby-operator">::</span><span class="ruby-constant">WallTime</span>.<span class="ruby-identifier">measure</span>
689
+ <span class="ruby-keyword">end</span></pre>
690
+ </div>
691
+
692
+ </div>
693
+
694
+
695
+
696
+
697
+ </div>
698
+
699
+
700
+ <div id="method-c-pause" class="method-detail ">
701
+
702
+ <div class="method-heading">
703
+ <span class="method-name">pause</span><span
704
+ class="method-args">()</span>
705
+
706
+ <span class="method-click-advice">click to toggle source</span>
707
+
708
+ </div>
709
+
710
+
711
+ <div class="method-description">
712
+
713
+
714
+
715
+
716
+
717
+
718
+ <div class="method-source-code" id="pause-source">
719
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 113</span>
720
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pause</span>
721
+ <span class="ruby-identifier">ensure_running!</span>
722
+ <span class="ruby-identifier">disable_gc_stats_if_needed</span>
723
+ <span class="ruby-ivar">@profile</span>.<span class="ruby-identifier">pause</span>
724
+ <span class="ruby-keyword">end</span></pre>
725
+ </div>
726
+
727
+ </div>
728
+
729
+
730
+
731
+
732
+ </div>
733
+
734
+
735
+ <div id="method-c-profile" class="method-detail ">
736
+
737
+ <div class="method-heading">
738
+ <span class="method-name">profile</span><span
739
+ class="method-args">(&block)</span>
740
+
741
+ <span class="method-click-advice">click to toggle source</span>
742
+
743
+ </div>
744
+
745
+
746
+ <div class="method-description">
747
+
748
+ <p><a href="RubyProf/Profile.html">Profile</a> a block</p>
749
+
750
+
751
+
752
+
753
+ <div class="method-source-code" id="profile-source">
754
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 142</span>
755
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">profile</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
756
+ <span class="ruby-identifier">ensure_not_running!</span>
757
+ <span class="ruby-identifier">gc_stat_was_enabled</span> = <span class="ruby-identifier">enable_gc_stats_if_needed</span>
758
+ <span class="ruby-identifier">res</span> = <span class="ruby-constant">Profile</span>.<span class="ruby-identifier">profile</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_mode</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exclude_threads</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
759
+ <span class="ruby-identifier">disable_gc_stats_if_needed</span>(<span class="ruby-identifier">gc_stat_was_enabled</span>)
760
+ <span class="ruby-identifier">res</span>
761
+ <span class="ruby-keyword">end</span></pre>
762
+ </div>
763
+
764
+ </div>
765
+
766
+
767
+
768
+
769
+ </div>
770
+
771
+
772
+ <div id="method-c-resume" class="method-detail ">
773
+
774
+ <div class="method-heading">
775
+ <span class="method-name">resume</span><span
776
+ class="method-args">()</span>
777
+
778
+ <span class="method-click-advice">click to toggle source</span>
779
+
780
+ </div>
781
+
782
+
783
+ <div class="method-description">
784
+
785
+
786
+
787
+
788
+
789
+
790
+ <div class="method-source-code" id="resume-source">
791
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 127</span>
792
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">resume</span>
793
+ <span class="ruby-identifier">ensure_running!</span>
794
+ <span class="ruby-identifier">enable_gc_stats_if_needed</span>
795
+ <span class="ruby-ivar">@profile</span>.<span class="ruby-identifier">resume</span>
796
+ <span class="ruby-keyword">end</span></pre>
797
+ </div>
798
+
799
+ </div>
800
+
801
+
802
+
803
+
804
+ </div>
805
+
806
+
807
+ <div id="method-c-running-3F" class="method-detail ">
808
+
809
+ <div class="method-heading">
810
+ <span class="method-name">running?</span><span
811
+ class="method-args">()</span>
812
+
813
+ <span class="method-click-advice">click to toggle source</span>
814
+
815
+ </div>
816
+
817
+
818
+ <div class="method-description">
819
+
820
+
821
+
822
+
823
+
824
+
825
+ <div class="method-source-code" id="running-3F-source">
826
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 119</span>
827
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">running?</span>
828
+ <span class="ruby-keyword">if</span> <span class="ruby-keyword">defined?</span>(<span class="ruby-ivar">@profile</span>) <span class="ruby-keyword">and</span> <span class="ruby-ivar">@profile</span>
829
+ <span class="ruby-ivar">@profile</span>.<span class="ruby-identifier">running?</span>
830
+ <span class="ruby-keyword">else</span>
831
+ <span class="ruby-keyword">false</span>
832
+ <span class="ruby-keyword">end</span>
833
+ <span class="ruby-keyword">end</span></pre>
834
+ </div>
835
+
836
+ </div>
837
+
838
+
839
+
840
+
841
+ </div>
842
+
843
+
844
+ <div id="method-c-start" class="method-detail ">
845
+
846
+ <div class="method-heading">
847
+ <span class="method-name">start</span><span
848
+ class="method-args">()</span>
849
+
850
+ <span class="method-click-advice">click to toggle source</span>
851
+
852
+ </div>
853
+
854
+
855
+ <div class="method-description">
856
+
857
+
858
+
859
+
860
+
861
+
862
+ <div class="method-source-code" id="start-source">
863
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 106</span>
864
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">start</span>
865
+ <span class="ruby-identifier">ensure_not_running!</span>
866
+ <span class="ruby-ivar">@profile</span> = <span class="ruby-constant">Profile</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">measure_mode</span>, <span class="ruby-keyword">self</span>.<span class="ruby-identifier">exclude_threads</span>)
867
+ <span class="ruby-identifier">enable_gc_stats_if_needed</span>
868
+ <span class="ruby-ivar">@profile</span>.<span class="ruby-identifier">start</span>
869
+ <span class="ruby-keyword">end</span></pre>
870
+ </div>
871
+
872
+ </div>
873
+
874
+
875
+
876
+
877
+ </div>
878
+
879
+
880
+ <div id="method-c-start_script" class="method-detail ">
881
+
882
+ <div class="method-heading">
883
+ <span class="method-name">start_script</span><span
884
+ class="method-args">(script)</span>
885
+
886
+ <span class="method-click-advice">click to toggle source</span>
887
+
888
+ </div>
889
+
890
+
891
+ <div class="method-description">
892
+
893
+ <p>Profiling</p>
894
+
895
+
896
+
897
+
898
+ <div class="method-source-code" id="start_script-source">
899
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 101</span>
900
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">start_script</span>(<span class="ruby-identifier">script</span>)
901
+ <span class="ruby-identifier">start</span>
902
+ <span class="ruby-identifier">load</span> <span class="ruby-identifier">script</span>
903
+ <span class="ruby-keyword">end</span></pre>
904
+ </div>
905
+
906
+ </div>
907
+
908
+
909
+
910
+
911
+ </div>
912
+
913
+
914
+ <div id="method-c-stop" class="method-detail ">
915
+
916
+ <div class="method-heading">
917
+ <span class="method-name">stop</span><span
918
+ class="method-args">()</span>
919
+
920
+ <span class="method-click-advice">click to toggle source</span>
921
+
922
+ </div>
923
+
924
+
925
+ <div class="method-description">
926
+
927
+
928
+
929
+
930
+
931
+
932
+ <div class="method-source-code" id="stop-source">
933
+ <pre><span class="ruby-comment"># File lib/ruby-prof/compatibility.rb, line 133</span>
934
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">stop</span>
935
+ <span class="ruby-identifier">ensure_running!</span>
936
+ <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@profile</span>.<span class="ruby-identifier">stop</span>
937
+ <span class="ruby-identifier">disable_gc_stats_if_needed</span>
938
+ <span class="ruby-ivar">@profile</span> = <span class="ruby-keyword">nil</span>
939
+ <span class="ruby-identifier">result</span>
940
+ <span class="ruby-keyword">end</span></pre>
941
+ </div>
942
+
943
+ </div>
944
+
945
+
946
+
947
+
948
+ </div>
949
+
950
+
951
+ </section>
952
+
953
+ </section>
954
+ </main>
955
+
956
+
957
+ <footer id="validator-badges" role="contentinfo">
958
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
959
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
960
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
961
+ </footer>
962
+