ruby-prof 0.15.2 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/doc/LICENSE.html +11 -14
- data/doc/README_rdoc.html +106 -109
- data/doc/Rack.html +6 -9
- data/doc/Rack/RubyProf.html +12 -15
- data/doc/RubyProf.html +11 -13
- data/doc/RubyProf/AbstractPrinter.html +7 -10
- data/doc/RubyProf/AggregateCallInfo.html +6 -9
- data/doc/RubyProf/CallInfo.html +8 -11
- data/doc/RubyProf/CallInfoPrinter.html +7 -10
- data/doc/RubyProf/CallInfoVisitor.html +6 -9
- data/doc/RubyProf/CallStackPrinter.html +48 -51
- data/doc/RubyProf/CallTreePrinter.html +14 -17
- data/doc/RubyProf/Cmd.html +44 -47
- data/doc/RubyProf/DotPrinter.html +8 -11
- data/doc/RubyProf/FlatPrinter.html +6 -9
- data/doc/RubyProf/FlatPrinterWithLineNumbers.html +9 -12
- data/doc/RubyProf/GraphHtmlPrinter.html +14 -18
- data/doc/RubyProf/GraphPrinter.html +6 -9
- data/doc/RubyProf/MethodInfo.html +8 -11
- data/doc/RubyProf/MultiPrinter.html +6 -9
- data/doc/RubyProf/Profile.html +7 -10
- data/doc/RubyProf/ProfileTask.html +18 -20
- data/doc/RubyProf/Thread.html +6 -9
- data/doc/created.rid +4 -4
- data/doc/{fonts.css → css/fonts.css} +0 -0
- data/doc/{rdoc.css → css/rdoc.css} +11 -1
- data/doc/examples/flat_txt.html +8 -11
- data/doc/examples/graph_html.html +8 -10
- data/doc/examples/graph_txt.html +13 -16
- data/doc/index.html +108 -109
- data/doc/js/darkfish.js +32 -11
- data/doc/js/jquery.js +4 -18
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search_index.js +1 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js.gz +0 -0
- data/doc/table_of_contents.html +9 -9
- data/ext/ruby_prof/ruby_prof.c +2 -2
- data/lib/ruby-prof/version.rb +1 -1
- data/ruby-prof.gemspec +1 -1
- data/test/aggregate_test.rb +1 -1
- data/test/basic_test.rb +5 -5
- data/test/block_test.rb +74 -0
- data/test/call_info_test.rb +1 -1
- data/test/call_info_visitor_test.rb +1 -1
- data/test/duplicate_names_test.rb +1 -1
- data/test/dynamic_method_test.rb +37 -56
- data/test/enumerable_test.rb +7 -2
- data/test/exceptions_test.rb +2 -2
- data/test/exclude_threads_test.rb +1 -1
- data/test/fiber_test.rb +1 -1
- data/test/line_number_test.rb +1 -1
- data/test/measure_allocations_test.rb +1 -1
- data/test/measure_cpu_time_test.rb +1 -1
- data/test/measure_gc_runs_test.rb +1 -1
- data/test/measure_gc_time_test.rb +1 -1
- data/test/measure_memory_test.rb +2 -2
- data/test/measure_process_time_test.rb +1 -1
- data/test/measure_wall_time_test.rb +2 -2
- data/test/method_elimination_test.rb +1 -1
- data/test/module_test.rb +1 -1
- data/test/multi_printer_test.rb +1 -1
- data/test/pause_resume_test.rb +1 -1
- data/test/printers_test.rb +5 -5
- data/test/rack_test.rb +2 -2
- data/test/recursive_test.rb +1 -1
- data/test/singleton_test.rb +1 -1
- data/test/stack_printer_test.rb +1 -1
- data/test/stack_test.rb +1 -1
- data/test/start_stop_test.rb +4 -4
- data/test/test_helper.rb +8 -1
- data/test/thread_test.rb +1 -1
- data/test/unique_call_path_test.rb +2 -2
- data/test/yarv_test.rb +1 -1
- metadata +64 -71
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::CallTreePrinter - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -209,7 +206,7 @@ and similar tools.</p>
|
|
|
209
206
|
for it to be printed out in the report.
|
|
210
207
|
Default value is 0.
|
|
211
208
|
|
|
212
|
-
:print_file - True or false. Specifies if a method
|
|
209
|
+
:print_file - True or false. Specifies if a method's source
|
|
213
210
|
file should be printed. Default value if false.</pre>
|
|
214
211
|
|
|
215
212
|
|
|
@@ -226,25 +223,25 @@ and similar tools.</p>
|
|
|
226
223
|
<span class="ruby-keyword">case</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">measure_mode</span>
|
|
227
224
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">PROCESS_TIME</span>
|
|
228
225
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CLOCKS_PER_SEC</span>;
|
|
229
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
226
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'process_time'</span>
|
|
230
227
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">WALL_TIME</span>
|
|
231
228
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-value">1_000_000</span>
|
|
232
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
229
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'wall_time'</span>
|
|
233
230
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-value">:CPU_TIME</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CPU_TIME</span>
|
|
234
231
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">cpu_frequency</span>
|
|
235
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
232
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'cpu_time'</span>
|
|
236
233
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-value">:ALLOCATIONS</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">ALLOCATIONS</span>
|
|
237
234
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-value">1</span>
|
|
238
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
235
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'allocations'</span>
|
|
239
236
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-value">:MEMORY</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">MEMORY</span>
|
|
240
237
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-value">1</span>
|
|
241
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
238
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'memory'</span>
|
|
242
239
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-value">:GC_RUNS</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GC_RUNS</span>
|
|
243
240
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-value">1</span>
|
|
244
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
241
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'gc_runs'</span>
|
|
245
242
|
<span class="ruby-keyword">when</span> <span class="ruby-constant">RubyProf</span>.<span class="ruby-identifier">const_defined?</span>(<span class="ruby-value">:GC_TIME</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GC_TIME</span>
|
|
246
243
|
<span class="ruby-ivar">@value_scale</span> = <span class="ruby-value">1000000</span>
|
|
247
|
-
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string"
|
|
244
|
+
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">'gc_time'</span>
|
|
248
245
|
<span class="ruby-keyword">else</span>
|
|
249
246
|
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown measure mode: #{RubyProf.measure_mode}"</span>
|
|
250
247
|
<span class="ruby-keyword">end</span>
|
|
@@ -356,7 +353,7 @@ and similar tools.</p>
|
|
|
356
353
|
|
|
357
354
|
<footer id="validator-badges" role="contentinfo">
|
|
358
355
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
359
|
-
<p>Generated by <a href="http://
|
|
360
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
356
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
357
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
361
358
|
</footer>
|
|
362
359
|
|
data/doc/RubyProf/Cmd.html
CHANGED
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::Cmd - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -285,15 +282,15 @@
|
|
|
285
282
|
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-string">""</span>
|
|
286
283
|
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-string">"Options:"</span>
|
|
287
284
|
|
|
288
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
289
|
-
<span class="ruby-string"
|
|
290
|
-
<span class="ruby-string"
|
|
291
|
-
<span class="ruby-string"
|
|
292
|
-
<span class="ruby-string"
|
|
293
|
-
<span class="ruby-string"
|
|
294
|
-
<span class="ruby-string"
|
|
295
|
-
<span class="ruby-string"
|
|
296
|
-
<span class="ruby-string"
|
|
285
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-p printer'</span>, <span class="ruby-string">'--printer=printer'</span>, [<span class="ruby-value">:flat</span>, <span class="ruby-value">:flat_with_line_numbers</span>, <span class="ruby-value">:graph</span>, <span class="ruby-value">:graph_html</span>, <span class="ruby-value">:call_tree</span>, <span class="ruby-value">:call_stack</span>, <span class="ruby-value">:dot</span>],
|
|
286
|
+
<span class="ruby-string">'Select a printer:'</span>,
|
|
287
|
+
<span class="ruby-string">' flat - Prints a flat profile as text (default).'</span>,
|
|
288
|
+
<span class="ruby-string">' flat_with_line_numbers - same as flat, with line numbers.'</span>,
|
|
289
|
+
<span class="ruby-string">' graph - Prints a graph profile as text.'</span>,
|
|
290
|
+
<span class="ruby-string">' graph_html - Prints a graph profile as html.'</span>,
|
|
291
|
+
<span class="ruby-string">' call_tree - format for KCacheGrind'</span>,
|
|
292
|
+
<span class="ruby-string">' call_stack - prints a HTML visualization of the call tree'</span>,
|
|
293
|
+
<span class="ruby-string">' dot - Prints a graph profile as a dot file'</span>
|
|
297
294
|
) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">printer</span><span class="ruby-operator">|</span>
|
|
298
295
|
|
|
299
296
|
|
|
@@ -315,29 +312,29 @@
|
|
|
315
312
|
<span class="ruby-keyword">end</span>
|
|
316
313
|
<span class="ruby-keyword">end</span>
|
|
317
314
|
|
|
318
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
319
|
-
<span class="ruby-string"
|
|
320
|
-
<span class="ruby-string"
|
|
321
|
-
<span class="ruby-string"
|
|
315
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-m min_percent'</span>, <span class="ruby-string">'--min_percent=min_percent'</span>, <span class="ruby-constant">Float</span>,
|
|
316
|
+
<span class="ruby-string">'The minimum percent a method must take before '</span>,
|
|
317
|
+
<span class="ruby-string">' being included in output reports.'</span>,
|
|
318
|
+
<span class="ruby-string">' this option is not supported for call tree.'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">min_percent</span><span class="ruby-operator">|</span>
|
|
322
319
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">min_percent</span> = <span class="ruby-identifier">min_percent</span>
|
|
323
320
|
<span class="ruby-keyword">end</span>
|
|
324
321
|
|
|
325
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
326
|
-
<span class="ruby-string"
|
|
322
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-f path'</span>, <span class="ruby-string">'--file=path'</span>,
|
|
323
|
+
<span class="ruby-string">'Output results to a file instead of standard out.'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
|
327
324
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">file</span> = <span class="ruby-identifier">file</span>
|
|
328
325
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">old_wd</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
|
|
329
326
|
<span class="ruby-keyword">end</span>
|
|
330
327
|
|
|
331
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
328
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'--mode=measure_mode'</span>,
|
|
332
329
|
[<span class="ruby-value">:process</span>, <span class="ruby-value">:wall</span>, <span class="ruby-value">:cpu</span>, <span class="ruby-value">:allocations</span>, <span class="ruby-value">:memory</span>, <span class="ruby-value">:gc_runs</span>, <span class="ruby-value">:gc_time</span>],
|
|
333
|
-
<span class="ruby-string"
|
|
334
|
-
<span class="ruby-string"
|
|
335
|
-
<span class="ruby-string"
|
|
336
|
-
<span class="ruby-string"
|
|
337
|
-
<span class="ruby-string"
|
|
338
|
-
<span class="ruby-string"
|
|
339
|
-
<span class="ruby-string"
|
|
340
|
-
<span class="ruby-string"
|
|
330
|
+
<span class="ruby-string">'Select what ruby-prof should measure:'</span>,
|
|
331
|
+
<span class="ruby-string">' process - Process time (default).'</span>,
|
|
332
|
+
<span class="ruby-string">' wall - Wall time.'</span>,
|
|
333
|
+
<span class="ruby-string">' cpu - CPU time (Pentium and PowerPCs only).'</span>,
|
|
334
|
+
<span class="ruby-string">' allocations - Object allocations (requires patched Ruby interpreter).'</span>,
|
|
335
|
+
<span class="ruby-string">' memory - Allocated memory in KB (requires patched Ruby interpreter).'</span>,
|
|
336
|
+
<span class="ruby-string">' gc_runs - Number of garbage collections (requires patched Ruby interpreter).'</span>,
|
|
337
|
+
<span class="ruby-string">' gc_time - Time spent in garbage collection (requires patched Ruby interpreter).'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">measure_mode</span><span class="ruby-operator">|</span>
|
|
341
338
|
|
|
342
339
|
<span class="ruby-keyword">case</span> <span class="ruby-identifier">measure_mode</span>
|
|
343
340
|
<span class="ruby-keyword">when</span> <span class="ruby-value">:process</span>
|
|
@@ -357,12 +354,12 @@
|
|
|
357
354
|
<span class="ruby-keyword">end</span>
|
|
358
355
|
<span class="ruby-keyword">end</span>
|
|
359
356
|
|
|
360
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
361
|
-
<span class="ruby-string"
|
|
362
|
-
<span class="ruby-string"
|
|
363
|
-
<span class="ruby-string"
|
|
364
|
-
<span class="ruby-string"
|
|
365
|
-
<span class="ruby-string"
|
|
357
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-s sort_mode'</span>, <span class="ruby-string">'--sort=sort_mode'</span>, [<span class="ruby-value">:total</span>, <span class="ruby-value">:self</span>, <span class="ruby-value">:wait</span>, <span class="ruby-value">:child</span>],
|
|
358
|
+
<span class="ruby-string">'Select how ruby-prof results should be sorted:'</span>,
|
|
359
|
+
<span class="ruby-string">' total - Total time'</span>,
|
|
360
|
+
<span class="ruby-string">' self - Self time'</span>,
|
|
361
|
+
<span class="ruby-string">' wait - Wait time'</span>,
|
|
362
|
+
<span class="ruby-string">' child - Child time'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sort_mode</span><span class="ruby-operator">|</span>
|
|
366
363
|
|
|
367
364
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">sort_method</span> = <span class="ruby-keyword">case</span> <span class="ruby-identifier">sort_mode</span>
|
|
368
365
|
<span class="ruby-keyword">when</span> <span class="ruby-value">:total</span>
|
|
@@ -397,7 +394,7 @@
|
|
|
397
394
|
<span class="ruby-keyword">end</span>
|
|
398
395
|
|
|
399
396
|
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">"-v"</span>,<span class="ruby-string">"Show version, set $VERBOSE to true, profile script if option given"</span>) <span class="ruby-keyword">do</span>
|
|
400
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-string">"ruby version: "</span> <span class="ruby-operator">+</span> [<span class="ruby-constant">RUBY_PATCHLEVEL</span>, <span class="ruby-constant">RUBY_PLATFORM</span>, <span class="ruby-constant">RUBY_VERSION</span>].<span class="ruby-identifier">join</span>(<span class="ruby-string"
|
|
397
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-string">"ruby version: "</span> <span class="ruby-operator">+</span> [<span class="ruby-constant">RUBY_PATCHLEVEL</span>, <span class="ruby-constant">RUBY_PLATFORM</span>, <span class="ruby-constant">RUBY_VERSION</span>].<span class="ruby-identifier">join</span>(<span class="ruby-string">' '</span>)
|
|
401
398
|
<span class="ruby-identifier">$VERBOSE</span> = <span class="ruby-keyword">true</span>
|
|
402
399
|
<span class="ruby-keyword">end</span>
|
|
403
400
|
|
|
@@ -405,25 +402,25 @@
|
|
|
405
402
|
<span class="ruby-identifier">$DEBUG</span> = <span class="ruby-keyword">true</span>
|
|
406
403
|
<span class="ruby-keyword">end</span>
|
|
407
404
|
|
|
408
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
405
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-R lib'</span>, <span class="ruby-string">'--require-noprof lib'</span>, <span class="ruby-string">'require a specific library (not profiled)'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">lib</span><span class="ruby-operator">|</span>
|
|
409
406
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">pre_libs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lib</span>
|
|
410
407
|
<span class="ruby-keyword">end</span>
|
|
411
408
|
|
|
412
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
409
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-E code'</span>, <span class="ruby-string">'--eval-noprof code'</span>, <span class="ruby-string">'execute the ruby statements (not profiled)'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">code</span><span class="ruby-operator">|</span>
|
|
413
410
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">pre_execs</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">code</span>
|
|
414
411
|
<span class="ruby-keyword">end</span>
|
|
415
412
|
|
|
416
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
413
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-x regexp'</span>, <span class="ruby-string">'--exclude regexp'</span>, <span class="ruby-string">'exclude methods by regexp (see method elimination)'</span>) <span class="ruby-keyword">do</span><span class="ruby-operator">|</span><span class="ruby-identifier">meth</span><span class="ruby-operator">|</span>
|
|
417
414
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator">||=</span> []
|
|
418
415
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">meth</span>)
|
|
419
416
|
<span class="ruby-keyword">end</span>
|
|
420
417
|
|
|
421
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
418
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'-X file'</span>, <span class="ruby-string">'--exclude-file file'</span>, <span class="ruby-string">'exclude methods by regexp listed in file (see method elimination)'</span>) <span class="ruby-keyword">do</span><span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
|
422
419
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods_files</span> <span class="ruby-operator">||=</span> []
|
|
423
420
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods_files</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">file</span>
|
|
424
421
|
<span class="ruby-keyword">end</span>
|
|
425
422
|
|
|
426
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
423
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'--exclude-common-cycles'</span>, <span class="ruby-string">'make common iterators like Integer#times appear inlined'</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">meth</span><span class="ruby-operator">|</span>
|
|
427
424
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator">||=</span> []
|
|
428
425
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator">+=</span> <span class="ruby-node">%w{
|
|
429
426
|
Integer#times
|
|
@@ -454,10 +451,10 @@
|
|
|
454
451
|
Enumerable#collect
|
|
455
452
|
Enumerable#reduce
|
|
456
453
|
}</span>
|
|
457
|
-
<span class="ruby-comment">#TODO: may be the whole Enumerable module should be excluded via
|
|
454
|
+
<span class="ruby-comment">#TODO: may be the whole Enumerable module should be excluded via 'Enumerable#.*', we need feedback on use cases.</span>
|
|
458
455
|
<span class="ruby-keyword">end</span>
|
|
459
456
|
|
|
460
|
-
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string"
|
|
457
|
+
<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-string">'--exclude-common-callbacks'</span>, <span class="ruby-string">'make common callbacks invocations like Integer#times appear inlined so you can see call origins in graph'</span>) <span class="ruby-keyword">do</span><span class="ruby-operator">|</span><span class="ruby-identifier">meth</span><span class="ruby-operator">|</span>
|
|
461
458
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator">||=</span> []
|
|
462
459
|
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">eliminate_methods</span> <span class="ruby-operator">+=</span> <span class="ruby-node">%w{
|
|
463
460
|
Method#call
|
|
@@ -621,7 +618,7 @@
|
|
|
621
618
|
|
|
622
619
|
<footer id="validator-badges" role="contentinfo">
|
|
623
620
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
624
|
-
<p>Generated by <a href="http://
|
|
625
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
621
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
622
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
626
623
|
</footer>
|
|
627
624
|
|
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::DotPrinter - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -229,12 +226,12 @@ to use the :min_percent option, for example:</p>
|
|
|
229
226
|
<span class="ruby-ivar">@output</span> = <span class="ruby-identifier">output</span>
|
|
230
227
|
<span class="ruby-identifier">setup_options</span>(<span class="ruby-identifier">options</span>)
|
|
231
228
|
|
|
232
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-string"
|
|
229
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-string">'digraph "Profile" {'</span>
|
|
233
230
|
<span class="ruby-comment">#puts "label=\"#{mode_name} >=#{min_percent}%\\nTotal: #{total_time}\";"</span>
|
|
234
231
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"labelloc=t;"</span>
|
|
235
232
|
<span class="ruby-identifier">puts</span> <span class="ruby-string">"labeljust=l;"</span>
|
|
236
233
|
<span class="ruby-identifier">print_threads</span>
|
|
237
|
-
<span class="ruby-identifier">puts</span> <span class="ruby-string"
|
|
234
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-string">'}'</span>
|
|
238
235
|
<span class="ruby-keyword">end</span></pre>
|
|
239
236
|
</div>
|
|
240
237
|
|
|
@@ -254,7 +251,7 @@ to use the :min_percent option, for example:</p>
|
|
|
254
251
|
|
|
255
252
|
<footer id="validator-badges" role="contentinfo">
|
|
256
253
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
257
|
-
<p>Generated by <a href="http://
|
|
258
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
254
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
255
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
259
256
|
</footer>
|
|
260
257
|
|
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::FlatPrinter - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -160,7 +157,7 @@ printer.print(STDOUT, {})</pre>
|
|
|
160
157
|
|
|
161
158
|
<footer id="validator-badges" role="contentinfo">
|
|
162
159
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
163
|
-
<p>Generated by <a href="http://
|
|
164
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
160
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
161
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
165
162
|
</footer>
|
|
166
163
|
|
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::FlatPrinterWithLineNumbers - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -162,14 +159,14 @@ printer.print(STDOUT, {})</pre>
|
|
|
162
159
|
<span class="ruby-identifier">method</span>.<span class="ruby-identifier">recursive?</span> <span class="ruby-operator">?</span> <span class="ruby-string">"*"</span> <span class="ruby-operator">:</span> <span class="ruby-string">" "</span>, <span class="ruby-comment"># cycle</span>
|
|
163
160
|
<span class="ruby-identifier">method_name</span>(<span class="ruby-identifier">method</span>) <span class="ruby-comment"># name</span>
|
|
164
161
|
]
|
|
165
|
-
<span class="ruby-keyword">if</span> <span class="ruby-identifier">method</span>.<span class="ruby-identifier">source_file</span> <span class="ruby-operator">!=</span> <span class="ruby-string"
|
|
162
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">method</span>.<span class="ruby-identifier">source_file</span> <span class="ruby-operator">!=</span> <span class="ruby-string">'ruby_runtime'</span>
|
|
166
163
|
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">" %s:%s"</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">method</span>.<span class="ruby-identifier">source_file</span>), <span class="ruby-identifier">method</span>.<span class="ruby-identifier">line</span>]
|
|
167
164
|
<span class="ruby-keyword">end</span>
|
|
168
165
|
<span class="ruby-ivar">@output</span> <span class="ruby-operator"><<</span> <span class="ruby-string">"\n\tcalled from: "</span>
|
|
169
166
|
|
|
170
|
-
<span class="ruby-comment"># make sure they
|
|
167
|
+
<span class="ruby-comment"># make sure they're unique</span>
|
|
171
168
|
<span class="ruby-identifier">method</span>.<span class="ruby-identifier">call_infos</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">ci</span><span class="ruby-operator">|</span>
|
|
172
|
-
<span class="ruby-keyword">if</span> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">source_file</span> <span class="ruby-operator">!=</span> <span class="ruby-string"
|
|
169
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">source_file</span> <span class="ruby-operator">!=</span> <span class="ruby-string">'ruby_runtime'</span>
|
|
173
170
|
[<span class="ruby-identifier">method_name</span>(<span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">target</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">source_file</span>), <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">line</span>]
|
|
174
171
|
<span class="ruby-keyword">else</span>
|
|
175
172
|
<span class="ruby-keyword">nil</span>
|
|
@@ -198,7 +195,7 @@ printer.print(STDOUT, {})</pre>
|
|
|
198
195
|
|
|
199
196
|
<footer id="validator-badges" role="contentinfo">
|
|
200
197
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
201
|
-
<p>Generated by <a href="http://
|
|
202
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
198
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
199
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
203
200
|
</footer>
|
|
204
201
|
|
|
@@ -6,20 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
<title>class RubyProf::GraphHtmlPrinter - ruby-prof</title>
|
|
8
8
|
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
|
11
|
-
|
|
12
9
|
<script type="text/javascript">
|
|
13
10
|
var rdoc_rel_prefix = "../";
|
|
14
11
|
</script>
|
|
15
12
|
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
|
17
|
-
<script src="../js/navigation.js"></script>
|
|
18
|
-
<script src="../js/search_index.js"></script>
|
|
19
|
-
<script src="../js/search.js"></script>
|
|
20
|
-
<script src="../js/searcher.js"></script>
|
|
21
14
|
<script src="../js/darkfish.js"></script>
|
|
22
15
|
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
|
|
23
20
|
|
|
24
21
|
<body id="top" role="document" class="class">
|
|
25
22
|
<nav role="navigation">
|
|
@@ -112,13 +109,12 @@
|
|
|
112
109
|
<p>Generates <a href="../files/examples/graph_html.html">graph</a> profile
|
|
113
110
|
reports as html. To use the graph html printer:</p>
|
|
114
111
|
|
|
115
|
-
<pre
|
|
116
|
-
[
|
|
117
|
-
|
|
112
|
+
<pre>result = RubyProf.profile do
|
|
113
|
+
[code to profile]
|
|
114
|
+
end
|
|
118
115
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
</pre>
|
|
116
|
+
printer = RubyProf::GraphHtmlPrinter.new(result)
|
|
117
|
+
printer.print(STDOUT, :min_percent=>0)</pre>
|
|
122
118
|
|
|
123
119
|
<p>The Graph printer takes the following options in its print methods:</p>
|
|
124
120
|
|
|
@@ -201,7 +197,7 @@ be printed out.</p>
|
|
|
201
197
|
<span class="ruby-comment"># Just return name</span>
|
|
202
198
|
<span class="ruby-identifier">h</span> <span class="ruby-identifier">method</span>.<span class="ruby-identifier">full_name</span>
|
|
203
199
|
<span class="ruby-keyword">else</span>
|
|
204
|
-
<span class="ruby-identifier">href</span> = <span class="ruby-string"
|
|
200
|
+
<span class="ruby-identifier">href</span> = <span class="ruby-string">'#'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">method_href</span>(<span class="ruby-identifier">thread</span>, <span class="ruby-identifier">method</span>)
|
|
205
201
|
<span class="ruby-node">"<a href=\"#{href}\">#{h method.full_name}</a>"</span>
|
|
206
202
|
<span class="ruby-keyword">end</span>
|
|
207
203
|
<span class="ruby-keyword">end</span></pre>
|
|
@@ -389,7 +385,7 @@ be printed out.</p>
|
|
|
389
385
|
<div class="method-source-code" id="template-source">
|
|
390
386
|
<pre><span class="ruby-comment"># File lib/ruby-prof/printers/graph_html_printer.rb, line 77</span>
|
|
391
387
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">template</span>
|
|
392
|
-
<span class="ruby-string"
|
|
388
|
+
<span class="ruby-string">'
|
|
393
389
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
394
390
|
<html>
|
|
395
391
|
<head>
|
|
@@ -553,7 +549,7 @@ be printed out.</p>
|
|
|
553
549
|
</table>
|
|
554
550
|
<% end %>
|
|
555
551
|
</body>
|
|
556
|
-
</html>
|
|
552
|
+
</html>'</span>
|
|
557
553
|
<span class="ruby-keyword">end</span></pre>
|
|
558
554
|
</div>
|
|
559
555
|
|
|
@@ -573,7 +569,7 @@ be printed out.</p>
|
|
|
573
569
|
|
|
574
570
|
<footer id="validator-badges" role="contentinfo">
|
|
575
571
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
576
|
-
<p>Generated by <a href="http://
|
|
577
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
|
572
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
|
573
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
578
574
|
</footer>
|
|
579
575
|
|