ruby-prof 0.16.2 → 0.17.0

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.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +15 -0
  3. data/README.rdoc +36 -5
  4. data/bin/ruby-prof +7 -2
  5. data/doc/LICENSE.html +2 -1
  6. data/doc/README_rdoc.html +42 -8
  7. data/doc/Rack.html +2 -1
  8. data/doc/Rack/RubyProf.html +25 -18
  9. data/doc/Rack/RubyProf/RackProfiler.html +343 -0
  10. data/doc/RubyProf.html +14 -2
  11. data/doc/RubyProf/AbstractPrinter.html +91 -12
  12. data/doc/RubyProf/AggregateCallInfo.html +2 -1
  13. data/doc/RubyProf/CallInfo.html +18 -78
  14. data/doc/RubyProf/CallInfoPrinter.html +2 -1
  15. data/doc/RubyProf/CallInfoVisitor.html +2 -1
  16. data/doc/RubyProf/CallStackPrinter.html +35 -29
  17. data/doc/RubyProf/CallTreePrinter.html +98 -14
  18. data/doc/RubyProf/Cmd.html +11 -5
  19. data/doc/RubyProf/DeprecationWarnings.html +148 -0
  20. data/doc/RubyProf/DotPrinter.html +2 -1
  21. data/doc/RubyProf/FlatPrinter.html +2 -1
  22. data/doc/RubyProf/FlatPrinterWithLineNumbers.html +7 -5
  23. data/doc/RubyProf/GraphHtmlPrinter.html +18 -12
  24. data/doc/RubyProf/GraphPrinter.html +2 -1
  25. data/doc/RubyProf/MethodInfo.html +19 -88
  26. data/doc/RubyProf/MultiPrinter.html +231 -17
  27. data/doc/RubyProf/Profile.html +184 -39
  28. data/doc/RubyProf/Profile/ExcludeCommonMethods.html +411 -0
  29. data/doc/RubyProf/Profile/LegacyMethodElimination.html +158 -0
  30. data/doc/RubyProf/ProfileTask.html +2 -1
  31. data/doc/RubyProf/Thread.html +4 -39
  32. data/doc/created.rid +21 -19
  33. data/doc/css/fonts.css +6 -6
  34. data/doc/examples/flat_txt.html +2 -1
  35. data/doc/examples/graph_html.html +2 -1
  36. data/doc/examples/graph_txt.html +2 -1
  37. data/doc/index.html +47 -7
  38. data/doc/js/darkfish.js +7 -7
  39. data/doc/js/search_index.js +1 -1
  40. data/doc/js/search_index.js.gz +0 -0
  41. data/doc/js/searcher.js +1 -0
  42. data/doc/js/searcher.js.gz +0 -0
  43. data/doc/table_of_contents.html +190 -80
  44. data/ext/ruby_prof/extconf.rb +4 -0
  45. data/ext/ruby_prof/rp_call_info.c +19 -1
  46. data/ext/ruby_prof/rp_call_info.h +8 -3
  47. data/ext/ruby_prof/rp_method.c +282 -57
  48. data/ext/ruby_prof/rp_method.h +28 -5
  49. data/ext/ruby_prof/rp_stack.c +69 -24
  50. data/ext/ruby_prof/rp_stack.h +21 -9
  51. data/ext/ruby_prof/rp_thread.c +4 -1
  52. data/ext/ruby_prof/ruby_prof.c +142 -39
  53. data/ext/ruby_prof/ruby_prof.h +3 -0
  54. data/lib/ruby-prof.rb +10 -0
  55. data/lib/ruby-prof/call_info.rb +0 -11
  56. data/lib/ruby-prof/method_info.rb +4 -12
  57. data/lib/ruby-prof/printers/abstract_printer.rb +19 -1
  58. data/lib/ruby-prof/printers/call_info_printer.rb +1 -1
  59. data/lib/ruby-prof/printers/call_stack_printer.rb +9 -4
  60. data/lib/ruby-prof/printers/call_tree_printer.rb +15 -2
  61. data/lib/ruby-prof/printers/flat_printer_with_line_numbers.rb +23 -4
  62. data/lib/ruby-prof/printers/graph_html_printer.rb +10 -5
  63. data/lib/ruby-prof/printers/graph_printer.rb +2 -2
  64. data/lib/ruby-prof/printers/multi_printer.rb +44 -18
  65. data/lib/ruby-prof/profile.rb +13 -42
  66. data/lib/ruby-prof/profile/exclude_common_methods.rb +201 -0
  67. data/lib/ruby-prof/profile/legacy_method_elimination.rb +49 -0
  68. data/lib/ruby-prof/rack.rb +130 -51
  69. data/lib/ruby-prof/thread.rb +0 -6
  70. data/lib/ruby-prof/version.rb +1 -1
  71. data/ruby-prof.gemspec +4 -3
  72. data/test/aggregate_test.rb +1 -1
  73. data/test/exclude_methods_test.rb +146 -0
  74. data/test/line_number_test.rb +12 -3
  75. data/test/multi_printer_test.rb +23 -2
  76. data/test/no_method_class_test.rb +1 -1
  77. data/test/printers_test.rb +21 -1
  78. data/test/rack_test.rb +64 -0
  79. data/test/recursive_test.rb +15 -15
  80. data/test/test_helper.rb +11 -0
  81. metadata +20 -13
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -114,7 +115,7 @@ into RubyProf&#39;s internals.</p>
114
115
 
115
116
  <footer id="validator-badges" role="contentinfo">
116
117
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
117
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2.
118
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
118
119
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
119
120
  </footer>
120
121
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -192,7 +193,7 @@
192
193
 
193
194
  <footer id="validator-badges" role="contentinfo">
194
195
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
195
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2.
196
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
196
197
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
197
198
  </footer>
198
199
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -184,7 +185,7 @@
184
185
 
185
186
 
186
187
  <div class="method-source-code" id="application-source">
187
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 162</span>
188
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 168</span>
188
189
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">application</span>
189
190
  <span class="ruby-ivar">@options</span>[<span class="ruby-value">:application</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">$PROGRAM_NAME</span>
190
191
  <span class="ruby-keyword">end</span></pre>
@@ -217,7 +218,7 @@
217
218
 
218
219
 
219
220
  <div class="method-source-code" id="arguments-source">
220
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 166</span>
221
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 172</span>
221
222
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">arguments</span>
222
223
  <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>)
223
224
  <span class="ruby-keyword">end</span></pre>
@@ -250,7 +251,7 @@
250
251
 
251
252
 
252
253
  <div class="method-source-code" id="base64_image-source">
253
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 208</span>
254
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 214</span>
254
255
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">base64_image</span>
255
256
  <span class="ruby-identifier">file</span> = <span class="ruby-identifier">open_asset</span>(<span class="ruby-string">&#39;call_stack_printer.png&#39;</span>)
256
257
  <span class="ruby-constant">Base64</span>.<span class="ruby-identifier">encode64</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\n/</span>, <span class="ruby-string">&#39;&#39;</span>)
@@ -284,7 +285,7 @@
284
285
 
285
286
 
286
287
  <div class="method-source-code" id="color-source">
287
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 149</span>
288
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 155</span>
288
289
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">color</span>(<span class="ruby-identifier">p</span>)
289
290
  <span class="ruby-keyword">case</span> <span class="ruby-identifier">i</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_i</span>
290
291
  <span class="ruby-keyword">when</span> <span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">5</span>
@@ -326,7 +327,7 @@
326
327
 
327
328
 
328
329
  <div class="method-source-code" id="dump-source">
329
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 145</span>
330
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 151</span>
330
331
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">dump</span>(<span class="ruby-identifier">ci</span>)
331
332
  <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">printf</span> <span class="ruby-string">&quot;%s/%d t:%f s:%f w:%f \n&quot;</span>, <span class="ruby-identifier">ci</span>, <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">object_id</span>, <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">total_time</span>, <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">self_time</span>, <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">wait_time</span>
332
333
  <span class="ruby-keyword">end</span></pre>
@@ -359,7 +360,7 @@
359
360
 
360
361
 
361
362
  <div class="method-source-code" id="expansion-source">
362
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 178</span>
363
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 184</span>
363
364
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">expansion</span>
364
365
  <span class="ruby-ivar">@options</span>[<span class="ruby-value">:expansion</span>] <span class="ruby-operator">||</span> <span class="ruby-value">10.0</span>
365
366
  <span class="ruby-keyword">end</span></pre>
@@ -392,7 +393,7 @@
392
393
 
393
394
 
394
395
  <div class="method-source-code" id="graph_link-source">
395
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 126</span>
396
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 132</span>
396
397
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">graph_link</span>(<span class="ruby-identifier">call_info</span>)
397
398
  <span class="ruby-identifier">total_calls</span> = <span class="ruby-identifier">call_info</span>.<span class="ruby-identifier">target</span>.<span class="ruby-identifier">call_infos</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">t</span>, <span class="ruby-identifier">ci</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">called</span>}
398
399
  <span class="ruby-identifier">href</span> = <span class="ruby-node">&quot;#{@graph_html}##{method_href(call_info.target)}&quot;</span>
@@ -428,15 +429,15 @@
428
429
 
429
430
 
430
431
  <div class="method-source-code" id="link-source">
431
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 112</span>
432
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 116</span>
432
433
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">link</span>(<span class="ruby-identifier">call_info</span>)
433
434
  <span class="ruby-identifier">method</span> = <span class="ruby-identifier">call_info</span>.<span class="ruby-identifier">target</span>
434
435
  <span class="ruby-identifier">file</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>)
435
436
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/\/ruby_runtime$/</span>
436
437
  <span class="ruby-identifier">h</span>(<span class="ruby-identifier">name</span>(<span class="ruby-identifier">call_info</span>))
437
438
  <span class="ruby-keyword">else</span>
438
- <span class="ruby-keyword">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/darwin/</span>
439
- <span class="ruby-node">&quot;&lt;a href=\&quot;txmt://open?url=file://#{file}&amp;line=#{method.line}\&quot;&gt;#{h(name(call_info))}&lt;/a&gt;&quot;</span>
439
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@editor</span>
440
+ <span class="ruby-node">&quot;&lt;a href=\&quot;#{@editor}://&quot;</span> <span class="ruby-node">&quot;open?url=file://#{file}&amp;line=#{method.line}\&quot;&gt;&quot;</span> <span class="ruby-node">&quot;#{h(name(call_info))}&lt;/a&gt;&quot;</span>
440
441
  <span class="ruby-keyword">else</span>
441
442
  <span class="ruby-node">&quot;&lt;a href=\&quot;file://#{file}##{method.line}\&quot;&gt;#{h(name(call_info))}&lt;/a&gt;&quot;</span>
442
443
  <span class="ruby-keyword">end</span>
@@ -471,7 +472,7 @@
471
472
 
472
473
 
473
474
  <div class="method-source-code" id="method_href-source">
474
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 133</span>
475
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 139</span>
475
476
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_href</span>(<span class="ruby-identifier">method</span>)
476
477
  <span class="ruby-identifier">h</span>(<span class="ruby-identifier">method</span>.<span class="ruby-identifier">full_name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/[&gt;&lt;#\.\?=:]/</span>,<span class="ruby-string">&quot;_&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&quot;_&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@current_thread_id</span>.<span class="ruby-identifier">to_s</span>)
477
478
  <span class="ruby-keyword">end</span></pre>
@@ -504,7 +505,7 @@
504
505
 
505
506
 
506
507
  <div class="method-source-code" id="name-source">
507
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 107</span>
508
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 111</span>
508
509
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">name</span>(<span class="ruby-identifier">call_info</span>)
509
510
  <span class="ruby-identifier">method</span> = <span class="ruby-identifier">call_info</span>.<span class="ruby-identifier">target</span>
510
511
  <span class="ruby-identifier">method</span>.<span class="ruby-identifier">full_name</span>
@@ -538,7 +539,7 @@
538
539
 
539
540
 
540
541
  <div class="method-source-code" id="open_asset-source">
541
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 198</span>
542
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 204</span>
542
543
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">open_asset</span>(<span class="ruby-identifier">file</span>)
543
544
  <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&#39;../../assets&#39;</span>, <span class="ruby-keyword">__FILE__</span>), <span class="ruby-identifier">file</span>)
544
545
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">path</span>, <span class="ruby-string">&#39;rb&#39;</span>).<span class="ruby-identifier">read</span>
@@ -592,16 +593,21 @@
592
593
  Default value is 10.0
593
594
 
594
595
  :application - a String to overide the name of the application,
595
- as it appears on the report.</pre>
596
+ as it appears on the report.
597
+
598
+ :editor_uri - Specifies editor uri scheme used for opening files
599
+ e.g. :atm or :mvim. For OS X default is :txmt.
600
+ Use RUBY_PROF_EDITOR_URI environment variable to overide.</pre>
596
601
 
597
602
 
598
603
 
599
604
 
600
605
  <div class="method-source-code" id="print-source">
601
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 38</span>
606
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 41</span>
602
607
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">output</span> = <span class="ruby-constant">STDOUT</span>, <span class="ruby-identifier">options</span> = {})
603
608
  <span class="ruby-ivar">@output</span> = <span class="ruby-identifier">output</span>
604
609
  <span class="ruby-identifier">setup_options</span>(<span class="ruby-identifier">options</span>)
610
+ <span class="ruby-ivar">@editor</span> = <span class="ruby-identifier">editor_uri</span>
605
611
  <span class="ruby-keyword">if</span> <span class="ruby-ivar">@graph_html</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:graph</span>)
606
612
  <span class="ruby-ivar">@graph_html</span> = <span class="ruby-string">&quot;file://&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@graph_html</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@graph_html</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">==</span><span class="ruby-string">&quot;/&quot;</span>
607
613
  <span class="ruby-keyword">end</span>
@@ -615,7 +621,7 @@
615
621
  <span class="ruby-ivar">@result</span>.<span class="ruby-identifier">threads</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">thread</span><span class="ruby-operator">|</span>
616
622
  <span class="ruby-ivar">@current_thread_id</span> = <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">fiber_id</span>
617
623
  <span class="ruby-ivar">@overall_time</span> = <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">total_time</span>
618
- <span class="ruby-identifier">thread_info</span> = <span class="ruby-node">&quot;Thread: #{thread.id}&quot;</span>
624
+ <span class="ruby-identifier">thread_info</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Thread: #{thread.id}&quot;</span>)
619
625
  <span class="ruby-identifier">thread_info</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;, Fiber: #{thread.fiber_id}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">fiber_id</span>
620
626
  <span class="ruby-identifier">thread_info</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; (#{&quot;%4.2f%%&quot; % ((@overall_time/@overall_threads_time)*100)} ~ #{@overall_time})&quot;</span>
621
627
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">print</span> <span class="ruby-node">&quot;&lt;div class=\&quot;thread\&quot;&gt;#{thread_info}&lt;/div&gt;&quot;</span>
@@ -663,7 +669,7 @@
663
669
 
664
670
 
665
671
  <div class="method-source-code" id="print_commands-source">
666
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 227</span>
672
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 233</span>
667
673
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_commands</span>
668
674
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value">&lt;&lt;-&quot;end_commands&quot;
669
675
  &lt;div id=\&quot;commands\&quot;&gt;
@@ -705,7 +711,7 @@ end_commands</span>
705
711
 
706
712
 
707
713
  <div class="method-source-code" id="print_css-source">
708
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 203</span>
714
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 209</span>
709
715
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_css</span>
710
716
  <span class="ruby-identifier">html</span> = <span class="ruby-identifier">open_asset</span>(<span class="ruby-string">&#39;call_stack_printer.css.html&#39;</span>)
711
717
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;%s&#39;</span>, <span class="ruby-identifier">base64_image</span>)
@@ -739,7 +745,7 @@ end_commands</span>
739
745
 
740
746
 
741
747
  <div class="method-source-code" id="print_footer-source">
742
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 194</span>
748
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 200</span>
743
749
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_footer</span>
744
750
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-string">&#39;&lt;div id=&quot;sentinel&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&#39;</span>
745
751
  <span class="ruby-keyword">end</span></pre>
@@ -772,7 +778,7 @@ end_commands</span>
772
778
 
773
779
 
774
780
  <div class="method-source-code" id="print_header-source">
775
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 182</span>
781
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 188</span>
776
782
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_header</span>
777
783
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;&lt;html&gt;&lt;head&gt;&quot;</span>
778
784
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-string">&#39;&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;&#39;</span>
@@ -813,7 +819,7 @@ end_commands</span>
813
819
 
814
820
 
815
821
  <div class="method-source-code" id="print_help-source">
816
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 240</span>
822
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 246</span>
817
823
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_help</span>
818
824
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value">&lt;&lt;-&#39;end_help&#39;
819
825
  &lt;div style=&quot;display: none;&quot; id=&quot;help&quot;&gt;
@@ -860,7 +866,7 @@ end_help</span>
860
866
 
861
867
 
862
868
  <div class="method-source-code" id="print_java_script-source">
863
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 213</span>
869
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 219</span>
864
870
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_java_script</span>
865
871
  <span class="ruby-identifier">html</span> = <span class="ruby-identifier">open_asset</span>(<span class="ruby-string">&#39;call_stack_printer.js.html&#39;</span>)
866
872
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>
@@ -894,7 +900,7 @@ end_help</span>
894
900
 
895
901
 
896
902
  <div class="method-source-code" id="print_stack-source">
897
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 74</span>
903
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 78</span>
898
904
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_stack</span>(<span class="ruby-identifier">call_info</span>, <span class="ruby-identifier">parent_time</span>)
899
905
  <span class="ruby-identifier">total_time</span> = <span class="ruby-identifier">call_info</span>.<span class="ruby-identifier">total_time</span>
900
906
  <span class="ruby-identifier">percent_parent</span> = (<span class="ruby-identifier">total_time</span><span class="ruby-operator">/</span><span class="ruby-identifier">parent_time</span>)<span class="ruby-operator">*</span><span class="ruby-value">100</span>
@@ -956,7 +962,7 @@ end_help</span>
956
962
 
957
963
 
958
964
  <div class="method-source-code" id="print_title_bar-source">
959
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 218</span>
965
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 224</span>
960
966
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_title_bar</span>
961
967
  <span class="ruby-ivar">@output</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value">&lt;&lt;-&quot;end_title_bar&quot;
962
968
  &lt;div id=&quot;titlebar&quot;&gt;
@@ -994,7 +1000,7 @@ end_title_bar</span>
994
1000
 
995
1001
 
996
1002
  <div class="method-source-code" id="sum-source">
997
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 141</span>
1003
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 147</span>
998
1004
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">sum</span>(<span class="ruby-identifier">a</span>)
999
1005
  <span class="ruby-identifier">a</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0.0</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span><span class="ruby-operator">+=</span><span class="ruby-identifier">t</span>}
1000
1006
  <span class="ruby-keyword">end</span></pre>
@@ -1027,7 +1033,7 @@ end_title_bar</span>
1027
1033
 
1028
1034
 
1029
1035
  <div class="method-source-code" id="threshold-source">
1030
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 174</span>
1036
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 180</span>
1031
1037
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">threshold</span>
1032
1038
  <span class="ruby-ivar">@options</span>[<span class="ruby-value">:threshold</span>] <span class="ruby-operator">||</span> <span class="ruby-value">1.0</span>
1033
1039
  <span class="ruby-keyword">end</span></pre>
@@ -1060,7 +1066,7 @@ end_title_bar</span>
1060
1066
 
1061
1067
 
1062
1068
  <div class="method-source-code" id="title-source">
1063
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 170</span>
1069
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 176</span>
1064
1070
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">title</span>
1065
1071
  <span class="ruby-ivar">@title</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:title</span>) <span class="ruby-operator">||</span> <span class="ruby-string">&quot;ruby-prof call tree&quot;</span>
1066
1072
  <span class="ruby-keyword">end</span></pre>
@@ -1093,7 +1099,7 @@ end_title_bar</span>
1093
1099
 
1094
1100
 
1095
1101
  <div class="method-source-code" id="total_time-source">
1096
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 137</span>
1102
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_stack_printer.rb, line 143</span>
1097
1103
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">total_time</span>(<span class="ruby-identifier">call_infos</span>)
1098
1104
  <span class="ruby-identifier">sum</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> <span class="ruby-identifier">ci</span>.<span class="ruby-identifier">total_time</span>})
1099
1105
  <span class="ruby-keyword">end</span></pre>
@@ -1115,7 +1121,7 @@ end_title_bar</span>
1115
1121
 
1116
1122
  <footer id="validator-badges" role="contentinfo">
1117
1123
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
1118
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2.
1124
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
1119
1125
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1120
1126
  </footer>
1121
1127
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
11
12
  </script>
12
13
 
13
14
  <script src="../js/jquery.js"></script>
@@ -70,6 +71,8 @@
70
71
 
71
72
  <ul class="link-list" role="directory">
72
73
 
74
+ <li ><a href="#method-c-needs_dir-3F">::needs_dir?</a>
75
+
73
76
  <li ><a href="#method-i-base_name">#base_name</a>
74
77
 
75
78
  <li ><a href="#method-i-convert">#convert</a>
@@ -96,6 +99,8 @@
96
99
 
97
100
  <li ><a href="#method-i-remove_subsidiary_files_from_previous_profile_runs">#remove_subsidiary_files_from_previous_profile_runs</a>
98
101
 
102
+ <li ><a href="#method-i-validate_print_params">#validate_print_params</a>
103
+
99
104
  </ul>
100
105
  </div>
101
106
 
@@ -131,6 +136,47 @@ would appear as a separate profile.</p>
131
136
 
132
137
 
133
138
 
139
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
140
+ <header>
141
+ <h3>Public Class Methods</h3>
142
+ </header>
143
+
144
+
145
+ <div id="method-c-needs_dir-3F" class="method-detail ">
146
+
147
+ <div class="method-heading">
148
+ <span class="method-name">needs_dir?</span><span
149
+ class="method-args">()</span>
150
+
151
+ <span class="method-click-advice">click to toggle source</span>
152
+
153
+ </div>
154
+
155
+
156
+ <div class="method-description">
157
+
158
+
159
+
160
+
161
+
162
+
163
+ <div class="method-source-code" id="needs_dir-3F-source">
164
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 90</span>
165
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">needs_dir?</span>
166
+ <span class="ruby-keyword">true</span>
167
+ <span class="ruby-keyword">end</span></pre>
168
+ </div>
169
+
170
+ </div>
171
+
172
+
173
+
174
+
175
+ </div>
176
+
177
+
178
+ </section>
179
+
134
180
  <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
135
181
  <header>
136
182
  <h3>Public Instance Methods</h3>
@@ -156,7 +202,7 @@ would appear as a separate profile.</p>
156
202
 
157
203
 
158
204
  <div class="method-source-code" id="base_name-source">
159
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 81</span>
205
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 94</span>
160
206
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">base_name</span>
161
207
  <span class="ruby-ivar">@options</span>[<span class="ruby-value">:profile</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;profile&quot;</span>
162
208
  <span class="ruby-keyword">end</span></pre>
@@ -189,7 +235,7 @@ would appear as a separate profile.</p>
189
235
 
190
236
 
191
237
  <div class="method-source-code" id="convert-source">
192
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 60</span>
238
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 69</span>
193
239
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">value</span>)
194
240
  (<span class="ruby-identifier">value</span> <span class="ruby-operator">*</span> <span class="ruby-ivar">@value_scale</span>).<span class="ruby-identifier">round</span>
195
241
  <span class="ruby-keyword">end</span></pre>
@@ -280,7 +326,7 @@ would appear as a separate profile.</p>
280
326
 
281
327
 
282
328
  <div class="method-source-code" id="file-source">
283
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 64</span>
329
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 73</span>
284
330
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">file</span>(<span class="ruby-identifier">method</span>)
285
331
  <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>)
286
332
  <span class="ruby-keyword">end</span></pre>
@@ -313,7 +359,7 @@ would appear as a separate profile.</p>
313
359
 
314
360
 
315
361
  <div class="method-source-code" id="file_name_for_thread-source">
316
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 91</span>
362
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 104</span>
317
363
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">file_name_for_thread</span>(<span class="ruby-identifier">thread</span>)
318
364
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">fiber_id</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Fiber</span>.<span class="ruby-identifier">current</span>.<span class="ruby-identifier">object_id</span>
319
365
  [<span class="ruby-identifier">base_name</span>, <span class="ruby-string">&quot;callgrind.out&quot;</span>, <span class="ruby-identifier">$$</span>].<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;.&quot;</span>)
@@ -350,7 +396,7 @@ would appear as a separate profile.</p>
350
396
 
351
397
 
352
398
  <div class="method-source-code" id="file_path_for_thread-source">
353
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 99</span>
399
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 112</span>
354
400
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">file_path_for_thread</span>(<span class="ruby-identifier">thread</span>)
355
401
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">file_name_for_thread</span>(<span class="ruby-identifier">thread</span>))
356
402
  <span class="ruby-keyword">end</span></pre>
@@ -383,7 +429,7 @@ would appear as a separate profile.</p>
383
429
 
384
430
 
385
431
  <div class="method-source-code" id="path-source">
386
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 77</span>
432
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 86</span>
387
433
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">path</span>
388
434
  <span class="ruby-ivar">@options</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&quot;.&quot;</span>
389
435
  <span class="ruby-keyword">end</span></pre>
@@ -418,6 +464,7 @@ would appear as a separate profile.</p>
418
464
  <div class="method-source-code" id="print-source">
419
465
  <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 45</span>
420
466
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">options</span> = {})
467
+ <span class="ruby-identifier">validate_print_params</span>(<span class="ruby-identifier">options</span>)
421
468
  <span class="ruby-identifier">setup_options</span>(<span class="ruby-identifier">options</span>)
422
469
  <span class="ruby-identifier">determine_event_specification_and_value_scale</span>
423
470
  <span class="ruby-identifier">print_threads</span>
@@ -451,7 +498,7 @@ would appear as a separate profile.</p>
451
498
 
452
499
 
453
500
  <div class="method-source-code" id="print_headers-source">
454
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 103</span>
501
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 116</span>
455
502
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_headers</span>(<span class="ruby-identifier">output</span>, <span class="ruby-identifier">thread</span>)
456
503
  <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{@event_specification}\n\n&quot;</span>
457
504
  <span class="ruby-comment"># this doesn&#39;t work. kcachegrind does not fully support the spec.</span>
@@ -486,11 +533,11 @@ would appear as a separate profile.</p>
486
533
 
487
534
 
488
535
  <div class="method-source-code" id="print_method-source">
489
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 109</span>
536
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 122</span>
490
537
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_method</span>(<span class="ruby-identifier">output</span>, <span class="ruby-identifier">method</span>)
491
538
  <span class="ruby-comment"># Print out the file and method name</span>
492
539
  <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;fl=#{file(method)}\n&quot;</span>
493
- <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;fn=#{method_name(method)}\n&quot;</span>
540
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;fn=#{method.calltree_name}\n&quot;</span>
494
541
 
495
542
  <span class="ruby-comment"># Now print out the function line number and its self time</span>
496
543
  <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{method.line} #{convert(method.self_time)}\n&quot;</span>
@@ -498,7 +545,7 @@ would appear as a separate profile.</p>
498
545
  <span class="ruby-comment"># Now print out all the children methods</span>
499
546
  <span class="ruby-identifier">method</span>.<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">callee</span><span class="ruby-operator">|</span>
500
547
  <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;cfl=#{file(callee.target)}\n&quot;</span>
501
- <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;cfn=#{method_name(callee.target)}\n&quot;</span>
548
+ <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;cfn=#{callee.target.calltree_name}\n&quot;</span>
502
549
  <span class="ruby-identifier">output</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;calls=#{callee.called} #{callee.line}\n&quot;</span>
503
550
 
504
551
  <span class="ruby-comment"># Print out total times here!</span>
@@ -535,7 +582,7 @@ would appear as a separate profile.</p>
535
582
 
536
583
 
537
584
  <div class="method-source-code" id="print_thread-source">
538
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 68</span>
585
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 77</span>
539
586
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_thread</span>(<span class="ruby-identifier">thread</span>)
540
587
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_path_for_thread</span>(<span class="ruby-identifier">thread</span>), <span class="ruby-string">&quot;w&quot;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
541
588
  <span class="ruby-identifier">print_headers</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">thread</span>)
@@ -573,7 +620,7 @@ would appear as a separate profile.</p>
573
620
 
574
621
 
575
622
  <div class="method-source-code" id="print_threads-source">
576
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 51</span>
623
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 60</span>
577
624
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_threads</span>
578
625
  <span class="ruby-identifier">remove_subsidiary_files_from_previous_profile_runs</span>
579
626
  <span class="ruby-comment"># TODO: merge fibers of a given thread here, instead of relying</span>
@@ -611,7 +658,7 @@ would appear as a separate profile.</p>
611
658
 
612
659
 
613
660
  <div class="method-source-code" id="remove_subsidiary_files_from_previous_profile_runs-source">
614
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 85</span>
661
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 98</span>
615
662
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_subsidiary_files_from_previous_profile_runs</span>
616
663
  <span class="ruby-identifier">pattern</span> = [<span class="ruby-identifier">base_name</span>, <span class="ruby-string">&quot;callgrind.out&quot;</span>, <span class="ruby-identifier">$$</span>, <span class="ruby-string">&quot;*&quot;</span>].<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;.&quot;</span>)
617
664
  <span class="ruby-identifier">files</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">pattern</span>))
@@ -624,6 +671,43 @@ would appear as a separate profile.</p>
624
671
 
625
672
 
626
673
 
674
+ </div>
675
+
676
+
677
+ <div id="method-i-validate_print_params" class="method-detail ">
678
+
679
+ <div class="method-heading">
680
+ <span class="method-name">validate_print_params</span><span
681
+ class="method-args">(options)</span>
682
+
683
+ <span class="method-click-advice">click to toggle source</span>
684
+
685
+ </div>
686
+
687
+
688
+ <div class="method-description">
689
+
690
+
691
+
692
+
693
+
694
+
695
+ <div class="method-source-code" id="validate_print_params-source">
696
+ <pre><span class="ruby-comment"># File lib/ruby-prof/printers/call_tree_printer.rb, line 52</span>
697
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_print_params</span>(<span class="ruby-identifier">options</span>)
698
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">IO</span>)
699
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{self.class.name}#print cannot print to IO objects&quot;</span>
700
+ <span class="ruby-keyword">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">options</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
701
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{self.class.name}#print requires an options hash&quot;</span>
702
+ <span class="ruby-keyword">end</span>
703
+ <span class="ruby-keyword">end</span></pre>
704
+ </div>
705
+
706
+ </div>
707
+
708
+
709
+
710
+
627
711
  </div>
628
712
 
629
713
 
@@ -635,7 +719,7 @@ would appear as a separate profile.</p>
635
719
 
636
720
  <footer id="validator-badges" role="contentinfo">
637
721
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
638
- <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.2.
722
+ <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
639
723
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
640
724
  </footer>
641
725