ruby-prof 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +500 -482
  3. data/LICENSE +24 -24
  4. data/README.rdoc +487 -485
  5. data/Rakefile +113 -113
  6. data/bin/ruby-prof +345 -345
  7. data/bin/ruby-prof-check-trace +45 -45
  8. data/examples/flat.txt +50 -50
  9. data/examples/graph.dot +84 -84
  10. data/examples/graph.html +823 -823
  11. data/examples/graph.txt +139 -139
  12. data/examples/multi.flat.txt +23 -23
  13. data/examples/multi.graph.html +760 -760
  14. data/examples/multi.grind.dat +114 -114
  15. data/examples/multi.stack.html +547 -547
  16. data/examples/stack.html +547 -547
  17. data/ext/ruby_prof/extconf.rb +68 -68
  18. data/ext/ruby_prof/rp_call_info.c +425 -425
  19. data/ext/ruby_prof/rp_call_info.h +53 -53
  20. data/ext/ruby_prof/rp_measure.c +40 -40
  21. data/ext/ruby_prof/rp_measure.h +45 -45
  22. data/ext/ruby_prof/rp_measure_allocations.c +76 -76
  23. data/ext/ruby_prof/rp_measure_cpu_time.c +136 -136
  24. data/ext/ruby_prof/rp_measure_gc_runs.c +73 -73
  25. data/ext/ruby_prof/rp_measure_gc_time.c +60 -60
  26. data/ext/ruby_prof/rp_measure_memory.c +77 -77
  27. data/ext/ruby_prof/rp_measure_process_time.c +71 -71
  28. data/ext/ruby_prof/rp_measure_wall_time.c +45 -45
  29. data/ext/ruby_prof/rp_method.c +630 -636
  30. data/ext/ruby_prof/rp_method.h +75 -75
  31. data/ext/ruby_prof/rp_stack.c +173 -173
  32. data/ext/ruby_prof/rp_stack.h +63 -63
  33. data/ext/ruby_prof/rp_thread.c +277 -276
  34. data/ext/ruby_prof/rp_thread.h +27 -27
  35. data/ext/ruby_prof/ruby_prof.c +794 -774
  36. data/ext/ruby_prof/ruby_prof.h +60 -59
  37. data/ext/ruby_prof/vc/ruby_prof.sln +20 -21
  38. data/ext/ruby_prof/vc/{ruby_prof_20.vcxproj → ruby_prof.vcxproj} +31 -0
  39. data/lib/ruby-prof.rb +68 -68
  40. data/lib/ruby-prof/aggregate_call_info.rb +76 -76
  41. data/lib/ruby-prof/assets/call_stack_printer.css.html +116 -116
  42. data/lib/ruby-prof/assets/call_stack_printer.js.html +384 -384
  43. data/lib/ruby-prof/call_info.rb +115 -115
  44. data/lib/ruby-prof/call_info_visitor.rb +40 -40
  45. data/lib/ruby-prof/compatibility.rb +179 -178
  46. data/lib/ruby-prof/method_info.rb +121 -121
  47. data/lib/ruby-prof/printers/abstract_printer.rb +104 -103
  48. data/lib/ruby-prof/printers/call_info_printer.rb +41 -41
  49. data/lib/ruby-prof/printers/call_stack_printer.rb +265 -265
  50. data/lib/ruby-prof/printers/call_tree_printer.rb +143 -143
  51. data/lib/ruby-prof/printers/dot_printer.rb +132 -132
  52. data/lib/ruby-prof/printers/flat_printer.rb +70 -70
  53. data/lib/ruby-prof/printers/flat_printer_with_line_numbers.rb +83 -83
  54. data/lib/ruby-prof/printers/graph_html_printer.rb +249 -249
  55. data/lib/ruby-prof/printers/graph_printer.rb +116 -116
  56. data/lib/ruby-prof/printers/multi_printer.rb +84 -84
  57. data/lib/ruby-prof/profile.rb +26 -26
  58. data/lib/ruby-prof/profile/exclude_common_methods.rb +207 -201
  59. data/lib/ruby-prof/profile/legacy_method_elimination.rb +50 -49
  60. data/lib/ruby-prof/rack.rb +174 -174
  61. data/lib/ruby-prof/task.rb +147 -147
  62. data/lib/ruby-prof/thread.rb +35 -35
  63. data/lib/ruby-prof/version.rb +3 -3
  64. data/lib/unprof.rb +10 -10
  65. data/ruby-prof.gemspec +58 -58
  66. data/test/abstract_printer_test.rb +53 -0
  67. data/test/aggregate_test.rb +136 -136
  68. data/test/basic_test.rb +128 -128
  69. data/test/block_test.rb +74 -74
  70. data/test/call_info_test.rb +78 -78
  71. data/test/call_info_visitor_test.rb +31 -31
  72. data/test/duplicate_names_test.rb +32 -32
  73. data/test/dynamic_method_test.rb +55 -55
  74. data/test/enumerable_test.rb +21 -21
  75. data/test/exceptions_test.rb +24 -16
  76. data/test/exclude_methods_test.rb +146 -146
  77. data/test/exclude_threads_test.rb +53 -53
  78. data/test/fiber_test.rb +79 -79
  79. data/test/issue137_test.rb +63 -63
  80. data/test/line_number_test.rb +80 -80
  81. data/test/measure_allocations_test.rb +26 -26
  82. data/test/measure_cpu_time_test.rb +212 -213
  83. data/test/measure_gc_runs_test.rb +32 -32
  84. data/test/measure_gc_time_test.rb +36 -36
  85. data/test/measure_memory_test.rb +33 -33
  86. data/test/measure_process_time_test.rb +61 -63
  87. data/test/measure_wall_time_test.rb +255 -255
  88. data/test/method_elimination_test.rb +84 -84
  89. data/test/module_test.rb +45 -45
  90. data/test/multi_printer_test.rb +104 -104
  91. data/test/no_method_class_test.rb +15 -15
  92. data/test/pause_resume_test.rb +166 -166
  93. data/test/prime.rb +54 -54
  94. data/test/printers_test.rb +275 -275
  95. data/test/printing_recursive_graph_test.rb +127 -127
  96. data/test/rack_test.rb +157 -157
  97. data/test/recursive_test.rb +215 -215
  98. data/test/singleton_test.rb +38 -38
  99. data/test/stack_printer_test.rb +77 -78
  100. data/test/stack_test.rb +138 -138
  101. data/test/start_stop_test.rb +112 -112
  102. data/test/test_helper.rb +267 -275
  103. data/test/thread_test.rb +187 -187
  104. data/test/unique_call_path_test.rb +202 -202
  105. data/test/yarv_test.rb +55 -55
  106. metadata +17 -96
  107. data/doc/LICENSE.html +0 -115
  108. data/doc/README_rdoc.html +0 -637
  109. data/doc/Rack.html +0 -96
  110. data/doc/Rack/RubyProf.html +0 -233
  111. data/doc/Rack/RubyProf/RackProfiler.html +0 -343
  112. data/doc/RubyProf.html +0 -974
  113. data/doc/RubyProf/AbstractPrinter.html +0 -625
  114. data/doc/RubyProf/AggregateCallInfo.html +0 -552
  115. data/doc/RubyProf/CallInfo.html +0 -579
  116. data/doc/RubyProf/CallInfoPrinter.html +0 -121
  117. data/doc/RubyProf/CallInfoVisitor.html +0 -199
  118. data/doc/RubyProf/CallStackPrinter.html +0 -1127
  119. data/doc/RubyProf/CallTreePrinter.html +0 -725
  120. data/doc/RubyProf/Cmd.html +0 -637
  121. data/doc/RubyProf/DeprecationWarnings.html +0 -148
  122. data/doc/RubyProf/DotPrinter.html +0 -258
  123. data/doc/RubyProf/FlatPrinter.html +0 -164
  124. data/doc/RubyProf/FlatPrinterWithLineNumbers.html +0 -210
  125. data/doc/RubyProf/GraphHtmlPrinter.html +0 -558
  126. data/doc/RubyProf/GraphPrinter.html +0 -140
  127. data/doc/RubyProf/MethodInfo.html +0 -676
  128. data/doc/RubyProf/MultiPrinter.html +0 -574
  129. data/doc/RubyProf/Profile.html +0 -908
  130. data/doc/RubyProf/Profile/ExcludeCommonMethods.html +0 -411
  131. data/doc/RubyProf/Profile/LegacyMethodElimination.html +0 -158
  132. data/doc/RubyProf/ProfileTask.html +0 -491
  133. data/doc/RubyProf/Thread.html +0 -275
  134. data/doc/created.rid +0 -33
  135. data/doc/css/fonts.css +0 -167
  136. data/doc/css/rdoc.css +0 -590
  137. data/doc/examples/flat_txt.html +0 -139
  138. data/doc/examples/graph_html.html +0 -910
  139. data/doc/examples/graph_txt.html +0 -248
  140. data/doc/fonts/Lato-Light.ttf +0 -0
  141. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  142. data/doc/fonts/Lato-Regular.ttf +0 -0
  143. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  144. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  145. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  146. data/doc/images/add.png +0 -0
  147. data/doc/images/arrow_up.png +0 -0
  148. data/doc/images/brick.png +0 -0
  149. data/doc/images/brick_link.png +0 -0
  150. data/doc/images/bug.png +0 -0
  151. data/doc/images/bullet_black.png +0 -0
  152. data/doc/images/bullet_toggle_minus.png +0 -0
  153. data/doc/images/bullet_toggle_plus.png +0 -0
  154. data/doc/images/date.png +0 -0
  155. data/doc/images/delete.png +0 -0
  156. data/doc/images/find.png +0 -0
  157. data/doc/images/loadingAnimation.gif +0 -0
  158. data/doc/images/macFFBgHack.png +0 -0
  159. data/doc/images/package.png +0 -0
  160. data/doc/images/page_green.png +0 -0
  161. data/doc/images/page_white_text.png +0 -0
  162. data/doc/images/page_white_width.png +0 -0
  163. data/doc/images/plugin.png +0 -0
  164. data/doc/images/ruby.png +0 -0
  165. data/doc/images/tag_blue.png +0 -0
  166. data/doc/images/tag_green.png +0 -0
  167. data/doc/images/transparent.png +0 -0
  168. data/doc/images/wrench.png +0 -0
  169. data/doc/images/wrench_orange.png +0 -0
  170. data/doc/images/zoom.png +0 -0
  171. data/doc/index.html +0 -666
  172. data/doc/js/darkfish.js +0 -161
  173. data/doc/js/jquery.js +0 -4
  174. data/doc/js/navigation.js +0 -142
  175. data/doc/js/navigation.js.gz +0 -0
  176. data/doc/js/search.js +0 -109
  177. data/doc/js/search_index.js +0 -1
  178. data/doc/js/search_index.js.gz +0 -0
  179. data/doc/js/searcher.js +0 -229
  180. data/doc/js/searcher.js.gz +0 -0
  181. data/doc/table_of_contents.html +0 -1052
  182. data/examples/cachegrind.out.1 +0 -114
  183. data/examples/cachegrind.out.1.32313213 +0 -114
  184. data/ext/ruby_prof/vc/ruby_prof_18.vcxproj +0 -108
  185. data/ext/ruby_prof/vc/ruby_prof_19.vcxproj +0 -110
@@ -1,574 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class RubyProf::MultiPrinter - ruby-prof</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/jquery.js"></script>
15
- <script src="../js/darkfish.js"></script>
16
-
17
- <link href="../css/fonts.css" rel="stylesheet">
18
- <link href="../css/rdoc.css" rel="stylesheet">
19
-
20
-
21
-
22
- <body id="top" role="document" class="class">
23
- <nav role="navigation">
24
- <div id="project-navigation">
25
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
26
- <h2>
27
- <a href="../index.html" rel="home">Home</a>
28
- </h2>
29
-
30
- <div id="table-of-contents-navigation">
31
- <a href="../table_of_contents.html#pages">Pages</a>
32
- <a href="../table_of_contents.html#classes">Classes</a>
33
- <a href="../table_of_contents.html#methods">Methods</a>
34
- </div>
35
- </div>
36
-
37
- <div id="search-section" role="search" class="project-section initially-hidden">
38
- <form action="#" method="get" accept-charset="utf-8">
39
- <div id="search-field-wrapper">
40
- <input id="search-field" role="combobox" aria-label="Search"
41
- aria-autocomplete="list" aria-controls="search-results"
42
- type="text" name="search" placeholder="Search" spellcheck="false"
43
- title="Type to search, Up and Down to navigate, Enter to load">
44
- </div>
45
-
46
- <ul id="search-results" aria-label="Search Results"
47
- aria-busy="false" aria-expanded="false"
48
- aria-atomic="false" class="initially-hidden"></ul>
49
- </form>
50
- </div>
51
-
52
- </div>
53
-
54
-
55
-
56
- <div id="class-metadata">
57
-
58
- <div id="parent-class-section" class="nav-section">
59
- <h3>Parent</h3>
60
-
61
-
62
- <p class="link">Object
63
-
64
- </div>
65
-
66
-
67
-
68
- <!-- Method Quickref -->
69
- <div id="method-list-section" class="nav-section">
70
- <h3>Methods</h3>
71
-
72
- <ul class="link-list" role="directory">
73
-
74
- <li ><a href="#method-c-needs_dir-3F">::needs_dir?</a>
75
-
76
- <li ><a href="#method-c-new">::new</a>
77
-
78
- <li ><a href="#method-i-flat_profile">#flat_profile</a>
79
-
80
- <li ><a href="#method-i-graph_profile">#graph_profile</a>
81
-
82
- <li ><a href="#method-i-print">#print</a>
83
-
84
- <li ><a href="#method-i-print_to_flat">#print_to_flat</a>
85
-
86
- <li ><a href="#method-i-print_to_graph">#print_to_graph</a>
87
-
88
- <li ><a href="#method-i-print_to_stack">#print_to_stack</a>
89
-
90
- <li ><a href="#method-i-print_to_tree">#print_to_tree</a>
91
-
92
- <li ><a href="#method-i-stack_profile">#stack_profile</a>
93
-
94
- <li ><a href="#method-i-tree_profile">#tree_profile</a>
95
-
96
- <li ><a href="#method-i-validate_print_params">#validate_print_params</a>
97
-
98
- </ul>
99
- </div>
100
-
101
- </div>
102
- </nav>
103
-
104
- <main role="main" aria-labelledby="class-RubyProf::MultiPrinter">
105
- <h1 id="class-RubyProf::MultiPrinter" class="class">
106
- class RubyProf::MultiPrinter
107
- </h1>
108
-
109
- <section class="description">
110
-
111
- <p>Helper class to simplify printing profiles of several types from one
112
- profiling run. Currently prints a flat profile, a callgrind profile, a call
113
- stack profile and a graph profile.</p>
114
-
115
- </section>
116
-
117
-
118
-
119
-
120
- <section id="5Buntitled-5D" class="documentation-section">
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
- <section id="public-class-5Buntitled-5D-method-details" class="method-section">
131
- <header>
132
- <h3>Public Class Methods</h3>
133
- </header>
134
-
135
-
136
- <div id="method-c-needs_dir-3F" class="method-detail ">
137
-
138
- <div class="method-heading">
139
- <span class="method-name">needs_dir?</span><span
140
- class="method-args">()</span>
141
-
142
- <span class="method-click-advice">click to toggle source</span>
143
-
144
- </div>
145
-
146
-
147
- <div class="method-description">
148
-
149
-
150
-
151
-
152
-
153
-
154
- <div class="method-source-code" id="needs_dir-3F-source">
155
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 14</span>
156
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">needs_dir?</span>
157
- <span class="ruby-keyword">true</span>
158
- <span class="ruby-keyword">end</span></pre>
159
- </div>
160
-
161
- </div>
162
-
163
-
164
-
165
-
166
- </div>
167
-
168
-
169
- <div id="method-c-new" class="method-detail ">
170
-
171
- <div class="method-heading">
172
- <span class="method-name">new</span><span
173
- class="method-args">(result, printers = [:stack, :graph, :tree, :flat])</span>
174
-
175
- <span class="method-click-advice">click to toggle source</span>
176
-
177
- </div>
178
-
179
-
180
- <div class="method-description">
181
-
182
-
183
-
184
-
185
-
186
-
187
- <div class="method-source-code" id="new-source">
188
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 7</span>
189
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">result</span>, <span class="ruby-identifier">printers</span> = [<span class="ruby-value">:stack</span>, <span class="ruby-value">:graph</span>, <span class="ruby-value">:tree</span>, <span class="ruby-value">:flat</span>])
190
- <span class="ruby-ivar">@stack_printer</span> = <span class="ruby-constant">CallStackPrinter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">printers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:stack</span>)
191
- <span class="ruby-ivar">@graph_printer</span> = <span class="ruby-constant">GraphHtmlPrinter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">printers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:graph</span>)
192
- <span class="ruby-ivar">@tree_printer</span> = <span class="ruby-constant">CallTreePrinter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">printers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:tree</span>)
193
- <span class="ruby-ivar">@flat_printer</span> = <span class="ruby-constant">FlatPrinter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">printers</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:flat</span>)
194
- <span class="ruby-keyword">end</span></pre>
195
- </div>
196
-
197
- </div>
198
-
199
-
200
-
201
-
202
- </div>
203
-
204
-
205
- </section>
206
-
207
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
208
- <header>
209
- <h3>Public Instance Methods</h3>
210
- </header>
211
-
212
-
213
- <div id="method-i-flat_profile" class="method-detail ">
214
-
215
- <div class="method-heading">
216
- <span class="method-name">flat_profile</span><span
217
- class="method-args">()</span>
218
-
219
- <span class="method-click-advice">click to toggle source</span>
220
-
221
- </div>
222
-
223
-
224
- <div class="method-description">
225
-
226
- <p>the name of the flat profile file</p>
227
-
228
-
229
-
230
-
231
- <div class="method-source-code" id="flat_profile-source">
232
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 49</span>
233
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">flat_profile</span>
234
- <span class="ruby-node">&quot;#{@directory}/#{@profile}.flat.txt&quot;</span>
235
- <span class="ruby-keyword">end</span></pre>
236
- </div>
237
-
238
- </div>
239
-
240
-
241
-
242
-
243
- </div>
244
-
245
-
246
- <div id="method-i-graph_profile" class="method-detail ">
247
-
248
- <div class="method-heading">
249
- <span class="method-name">graph_profile</span><span
250
- class="method-args">()</span>
251
-
252
- <span class="method-click-advice">click to toggle source</span>
253
-
254
- </div>
255
-
256
-
257
- <div class="method-description">
258
-
259
- <p>the name of the graph profile file</p>
260
-
261
-
262
-
263
-
264
- <div class="method-source-code" id="graph_profile-source">
265
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 39</span>
266
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">graph_profile</span>
267
- <span class="ruby-node">&quot;#{@directory}/#{@profile}.graph.html&quot;</span>
268
- <span class="ruby-keyword">end</span></pre>
269
- </div>
270
-
271
- </div>
272
-
273
-
274
-
275
-
276
- </div>
277
-
278
-
279
- <div id="method-i-print" class="method-detail ">
280
-
281
- <div class="method-heading">
282
- <span class="method-name">print</span><span
283
- class="method-args">(options)</span>
284
-
285
- <span class="method-click-advice">click to toggle source</span>
286
-
287
- </div>
288
-
289
-
290
- <div class="method-description">
291
-
292
- <p>create profile files under <a href=":path">options</a> or the current
293
- directory. <a href=":profile">options</a> is used as the base name for the
294
- pofile file, defaults to “profile”.</p>
295
-
296
-
297
-
298
-
299
- <div class="method-source-code" id="print-source">
300
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 21</span>
301
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">options</span>)
302
- <span class="ruby-identifier">validate_print_params</span>(<span class="ruby-identifier">options</span>)
303
-
304
- <span class="ruby-ivar">@profile</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:profile</span>) <span class="ruby-operator">||</span> <span class="ruby-string">&quot;profile&quot;</span>
305
- <span class="ruby-ivar">@directory</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:path</span>) <span class="ruby-operator">||</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&quot;.&quot;</span>)
306
-
307
- <span class="ruby-identifier">print_to_stack</span>(<span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@stack_printer</span>
308
- <span class="ruby-identifier">print_to_graph</span>(<span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@graph_printer</span>
309
- <span class="ruby-identifier">print_to_tree</span>(<span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@tree_printer</span>
310
- <span class="ruby-identifier">print_to_flat</span>(<span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@flat_printer</span>
311
- <span class="ruby-keyword">end</span></pre>
312
- </div>
313
-
314
- </div>
315
-
316
-
317
-
318
-
319
- </div>
320
-
321
-
322
- <div id="method-i-print_to_flat" class="method-detail ">
323
-
324
- <div class="method-heading">
325
- <span class="method-name">print_to_flat</span><span
326
- class="method-args">(options)</span>
327
-
328
- <span class="method-click-advice">click to toggle source</span>
329
-
330
- </div>
331
-
332
-
333
- <div class="method-description">
334
-
335
-
336
-
337
-
338
-
339
-
340
- <div class="method-source-code" id="print_to_flat-source">
341
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 69</span>
342
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_to_flat</span>(<span class="ruby-identifier">options</span>)
343
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">flat_profile</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>
344
- <span class="ruby-ivar">@flat_printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">options</span>)
345
- <span class="ruby-keyword">end</span>
346
- <span class="ruby-keyword">end</span></pre>
347
- </div>
348
-
349
- </div>
350
-
351
-
352
-
353
-
354
- </div>
355
-
356
-
357
- <div id="method-i-print_to_graph" class="method-detail ">
358
-
359
- <div class="method-heading">
360
- <span class="method-name">print_to_graph</span><span
361
- class="method-args">(options)</span>
362
-
363
- <span class="method-click-advice">click to toggle source</span>
364
-
365
- </div>
366
-
367
-
368
- <div class="method-description">
369
-
370
-
371
-
372
-
373
-
374
-
375
- <div class="method-source-code" id="print_to_graph-source">
376
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 59</span>
377
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_to_graph</span>(<span class="ruby-identifier">options</span>)
378
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">graph_profile</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>
379
- <span class="ruby-ivar">@graph_printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">options</span>)
380
- <span class="ruby-keyword">end</span>
381
- <span class="ruby-keyword">end</span></pre>
382
- </div>
383
-
384
- </div>
385
-
386
-
387
-
388
-
389
- </div>
390
-
391
-
392
- <div id="method-i-print_to_stack" class="method-detail ">
393
-
394
- <div class="method-heading">
395
- <span class="method-name">print_to_stack</span><span
396
- class="method-args">(options)</span>
397
-
398
- <span class="method-click-advice">click to toggle source</span>
399
-
400
- </div>
401
-
402
-
403
- <div class="method-description">
404
-
405
-
406
-
407
-
408
-
409
-
410
- <div class="method-source-code" id="print_to_stack-source">
411
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 53</span>
412
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_to_stack</span>(<span class="ruby-identifier">options</span>)
413
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">stack_profile</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>
414
- <span class="ruby-ivar">@stack_printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:graph</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{@profile}.graph.html&quot;</span>))
415
- <span class="ruby-keyword">end</span>
416
- <span class="ruby-keyword">end</span></pre>
417
- </div>
418
-
419
- </div>
420
-
421
-
422
-
423
-
424
- </div>
425
-
426
-
427
- <div id="method-i-print_to_tree" class="method-detail ">
428
-
429
- <div class="method-heading">
430
- <span class="method-name">print_to_tree</span><span
431
- class="method-args">(options)</span>
432
-
433
- <span class="method-click-advice">click to toggle source</span>
434
-
435
- </div>
436
-
437
-
438
- <div class="method-description">
439
-
440
-
441
-
442
-
443
-
444
-
445
- <div class="method-source-code" id="print_to_tree-source">
446
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 65</span>
447
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_to_tree</span>(<span class="ruby-identifier">options</span>)
448
- <span class="ruby-ivar">@tree_printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@directory</span>, <span class="ruby-value">:profile</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@profile</span>))
449
- <span class="ruby-keyword">end</span></pre>
450
- </div>
451
-
452
- </div>
453
-
454
-
455
-
456
-
457
- </div>
458
-
459
-
460
- <div id="method-i-stack_profile" class="method-detail ">
461
-
462
- <div class="method-heading">
463
- <span class="method-name">stack_profile</span><span
464
- class="method-args">()</span>
465
-
466
- <span class="method-click-advice">click to toggle source</span>
467
-
468
- </div>
469
-
470
-
471
- <div class="method-description">
472
-
473
- <p>the name of the call stack profile file</p>
474
-
475
-
476
-
477
-
478
- <div class="method-source-code" id="stack_profile-source">
479
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 34</span>
480
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">stack_profile</span>
481
- <span class="ruby-node">&quot;#{@directory}/#{@profile}.stack.html&quot;</span>
482
- <span class="ruby-keyword">end</span></pre>
483
- </div>
484
-
485
- </div>
486
-
487
-
488
-
489
-
490
- </div>
491
-
492
-
493
- <div id="method-i-tree_profile" class="method-detail ">
494
-
495
- <div class="method-heading">
496
- <span class="method-name">tree_profile</span><span
497
- class="method-args">()</span>
498
-
499
- <span class="method-click-advice">click to toggle source</span>
500
-
501
- </div>
502
-
503
-
504
- <div class="method-description">
505
-
506
- <p>the name of the callgrind profile file</p>
507
-
508
-
509
-
510
-
511
- <div class="method-source-code" id="tree_profile-source">
512
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 44</span>
513
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">tree_profile</span>
514
- <span class="ruby-node">&quot;#{@directory}/#{@profile}.callgrind.out.#{$$}&quot;</span>
515
- <span class="ruby-keyword">end</span></pre>
516
- </div>
517
-
518
- </div>
519
-
520
-
521
-
522
-
523
- </div>
524
-
525
-
526
- <div id="method-i-validate_print_params" class="method-detail ">
527
-
528
- <div class="method-heading">
529
- <span class="method-name">validate_print_params</span><span
530
- class="method-args">(options)</span>
531
-
532
- <span class="method-click-advice">click to toggle source</span>
533
-
534
- </div>
535
-
536
-
537
- <div class="method-description">
538
-
539
-
540
-
541
-
542
-
543
-
544
- <div class="method-source-code" id="validate_print_params-source">
545
- <pre><span class="ruby-comment"># File lib/ruby-prof/printers/multi_printer.rb, line 75</span>
546
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_print_params</span>(<span class="ruby-identifier">options</span>)
547
- <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>)
548
- <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>
549
- <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>)
550
- <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>
551
- <span class="ruby-keyword">end</span>
552
- <span class="ruby-keyword">end</span></pre>
553
- </div>
554
-
555
- </div>
556
-
557
-
558
-
559
-
560
- </div>
561
-
562
-
563
- </section>
564
-
565
- </section>
566
- </main>
567
-
568
-
569
- <footer id="validator-badges" role="contentinfo">
570
- <p><a href="http://validator.w3.org/check/referer">Validate</a>
571
- <p>Generated by <a href="https://rdoc.github.io/rdoc">RDoc</a> 5.1.0.
572
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
573
- </footer>
574
-