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