ruby-prof 0.13.1 → 0.14.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +14 -0
  3. data/README.rdoc +1 -1
  4. data/Rakefile +2 -3
  5. data/bin/ruby-prof +4 -4
  6. data/bin/ruby-prof-check-trace +45 -0
  7. data/doc/LICENSE.html +49 -88
  8. data/doc/README_rdoc.html +92 -106
  9. data/doc/Rack.html +47 -116
  10. data/doc/Rack/RubyProf.html +119 -174
  11. data/doc/RubyProf.html +184 -216
  12. data/doc/RubyProf/AbstractPrinter.html +131 -162
  13. data/doc/RubyProf/AggregateCallInfo.html +136 -166
  14. data/doc/RubyProf/CallInfo.html +113 -154
  15. data/doc/RubyProf/CallInfoPrinter.html +56 -123
  16. data/doc/RubyProf/CallInfoVisitor.html +87 -216
  17. data/doc/RubyProf/CallStackPrinter.html +222 -215
  18. data/doc/RubyProf/CallTreePrinter.html +91 -142
  19. data/doc/RubyProf/Cmd.html +115 -157
  20. data/doc/RubyProf/DotPrinter.html +88 -140
  21. data/doc/RubyProf/FlatPrinter.html +66 -129
  22. data/doc/RubyProf/FlatPrinterWithLineNumbers.html +69 -132
  23. data/doc/RubyProf/GraphHtmlPrinter.html +115 -166
  24. data/doc/RubyProf/GraphPrinter.html +58 -125
  25. data/doc/RubyProf/MethodInfo.html +147 -172
  26. data/doc/RubyProf/MultiPrinter.html +104 -150
  27. data/doc/RubyProf/Profile.html +125 -179
  28. data/doc/RubyProf/ProfileTask.html +117 -157
  29. data/doc/RubyProf/Test.html +115 -154
  30. data/doc/RubyProf/Thread.html +87 -147
  31. data/doc/created.rid +13 -14
  32. data/doc/examples/flat_txt.html +51 -90
  33. data/doc/examples/graph_html.html +852 -0
  34. data/doc/examples/graph_txt.html +64 -92
  35. data/doc/fonts.css +167 -0
  36. data/doc/fonts/Lato-Light.ttf +0 -0
  37. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  38. data/doc/fonts/Lato-Regular.ttf +0 -0
  39. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  40. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  41. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  42. data/doc/images/add.png +0 -0
  43. data/doc/images/arrow_up.png +0 -0
  44. data/doc/images/delete.png +0 -0
  45. data/doc/images/tag_blue.png +0 -0
  46. data/doc/index.html +75 -65
  47. data/doc/js/darkfish.js +0 -15
  48. data/doc/js/search.js +20 -5
  49. data/doc/js/search_index.js +1 -1
  50. data/doc/rdoc.css +255 -218
  51. data/doc/table_of_contents.html +751 -353
  52. data/ext/ruby_prof/extconf.rb +20 -22
  53. data/ext/ruby_prof/rp_measure_allocations.c +9 -5
  54. data/ext/ruby_prof/rp_measure_gc_runs.c +8 -0
  55. data/ext/ruby_prof/rp_measure_gc_time.c +5 -2
  56. data/ext/ruby_prof/rp_measure_wall_time.c +1 -0
  57. data/ext/ruby_prof/rp_method.c +0 -9
  58. data/ext/ruby_prof/rp_method.h +1 -6
  59. data/ext/ruby_prof/ruby_prof.c +32 -112
  60. data/ext/ruby_prof/ruby_prof.h +9 -10
  61. data/lib/ruby-prof.rb +2 -1
  62. data/lib/ruby-prof/aggregate_call_info.rb +4 -6
  63. data/lib/ruby-prof/call_info_visitor.rb +42 -44
  64. data/lib/ruby-prof/printers/graph_html_printer.rb +0 -8
  65. data/lib/ruby-prof/profile.rb +4 -4
  66. data/lib/ruby-prof/rack.rb +47 -47
  67. data/lib/ruby-prof/task.rb +0 -0
  68. data/lib/ruby-prof/thread.rb +22 -22
  69. data/lib/ruby-prof/version.rb +3 -0
  70. data/ruby-prof.gemspec +7 -11
  71. data/test/call_info_test.rb +78 -78
  72. data/test/call_info_visitor_test.rb +31 -31
  73. data/test/fiber_test.rb +2 -2
  74. data/test/measure_gc_runs_test.rb +1 -1
  75. data/test/measure_process_time_test.rb +7 -6
  76. data/test/printers_test.rb +4 -8
  77. data/test/recursive_test.rb +5 -9
  78. data/test/test_helper.rb +1 -1
  79. data/test/unique_call_path_test.rb +7 -29
  80. data/test/yarv_test.rb +55 -0
  81. metadata +63 -55
  82. data/ext/ruby_prof/version.h +0 -7
  83. data/lib/ruby-prof/test.rb +0 -150
  84. data/test/exec_test.rb +0 -14
  85. data/test/test_suite.rb +0 -37
data/doc/Rack.html CHANGED
@@ -2,143 +2,76 @@
2
2
 
3
3
  <html>
4
4
  <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
5
+ <meta charset="UTF-8">
6
6
 
7
7
  <title>module Rack - ruby-prof</title>
8
8
 
9
- <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
9
+ <link href="./fonts.css" rel="stylesheet">
10
+ <link href="./rdoc.css" rel="stylesheet">
10
11
 
11
12
  <script type="text/javascript">
12
13
  var rdoc_rel_prefix = "./";
13
14
  </script>
14
15
 
15
- <script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
16
+ <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
+ <script src="./js/darkfish.js"></script>
21
22
 
22
23
 
23
- <body id="top" class="module">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="./index.html">Home</a>
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="./index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="./table_of_contents.html#pages">Pages</a>
28
34
  <a href="./table_of_contents.html#classes">Classes</a>
29
35
  <a href="./table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
36
+ </div>
37
+ </div>
33
38
 
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
35
40
  <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
38
45
  title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
46
+ </div>
44
47
 
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
45
53
 
46
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>lib/ruby-prof/rack.rb
51
- </ul>
52
- </nav>
53
-
54
-
55
54
  </div>
56
55
 
56
+
57
+
57
58
  <div id="class-metadata">
58
59
 
59
60
 
60
61
 
61
62
 
62
- </div>
63
-
64
- <div id="project-metadata">
65
- <nav id="fileindex-section" class="section project-section">
66
- <h3 class="section-header">Pages</h3>
67
-
68
- <ul>
69
-
70
- <li class="file"><a href="./LICENSE.html">LICENSE</a>
71
-
72
- <li class="file"><a href="./README_rdoc.html">README</a>
73
-
74
- <li class="file"><a href="./examples/flat_txt.html">flat</a>
75
-
76
- <li class="file"><a href="./examples/graph_txt.html">graph</a>
77
-
78
- </ul>
79
- </nav>
80
-
81
- <nav id="classindex-section" class="section project-section">
82
- <h3 class="section-header">Class and Module Index</h3>
83
-
84
- <ul class="link-list">
85
-
86
- <li><a href="./RubyProf.html">RubyProf</a>
87
-
88
- <li><a href="./RubyProf/AbstractPrinter.html">RubyProf::AbstractPrinter</a>
89
-
90
- <li><a href="./RubyProf/AggregateCallInfo.html">RubyProf::AggregateCallInfo</a>
91
-
92
- <li><a href="./RubyProf/CallInfo.html">RubyProf::CallInfo</a>
93
-
94
- <li><a href="./RubyProf/CallInfoPrinter.html">RubyProf::CallInfoPrinter</a>
95
-
96
- <li><a href="./RubyProf/CallInfoVisitor.html">RubyProf::CallInfoVisitor</a>
97
-
98
- <li><a href="./RubyProf/CallStackPrinter.html">RubyProf::CallStackPrinter</a>
99
-
100
- <li><a href="./RubyProf/CallTreePrinter.html">RubyProf::CallTreePrinter</a>
101
-
102
- <li><a href="./RubyProf/Cmd.html">RubyProf::Cmd</a>
103
-
104
- <li><a href="./RubyProf/DotPrinter.html">RubyProf::DotPrinter</a>
105
-
106
- <li><a href="./RubyProf/FlatPrinter.html">RubyProf::FlatPrinter</a>
107
-
108
- <li><a href="./RubyProf/FlatPrinterWithLineNumbers.html">RubyProf::FlatPrinterWithLineNumbers</a>
109
-
110
- <li><a href="./RubyProf/GraphHtmlPrinter.html">RubyProf::GraphHtmlPrinter</a>
111
-
112
- <li><a href="./RubyProf/GraphPrinter.html">RubyProf::GraphPrinter</a>
113
-
114
- <li><a href="./RubyProf/MethodInfo.html">RubyProf::MethodInfo</a>
115
-
116
- <li><a href="./RubyProf/MultiPrinter.html">RubyProf::MultiPrinter</a>
117
-
118
- <li><a href="./RubyProf/Profile.html">RubyProf::Profile</a>
119
-
120
- <li><a href="./RubyProf/ProfileTask.html">RubyProf::ProfileTask</a>
121
-
122
- <li><a href="./RubyProf/Test.html">RubyProf::Test</a>
123
-
124
- <li><a href="./RubyProf/Thread.html">RubyProf::Thread</a>
125
-
126
- <li><a href="./Rack.html">Rack</a>
127
-
128
- <li><a href="./Rack/RubyProf.html">Rack::RubyProf</a>
129
-
130
- </ul>
131
- </nav>
132
-
63
+
133
64
  </div>
134
65
  </nav>
135
66
 
136
- <div id="documentation">
137
- <h1 class="module">module Rack</h1>
67
+ <main role="main" aria-labelledby="module-Rack">
68
+ <h1 id="module-Rack" class="module">
69
+ module Rack
70
+ </h1>
138
71
 
139
- <div id="description" class="description">
72
+ <section class="description">
140
73
 
141
- </div><!-- description -->
74
+ </section>
142
75
 
143
76
 
144
77
 
@@ -152,16 +85,14 @@
152
85
 
153
86
 
154
87
 
155
- <!-- Methods -->
156
88
 
157
- </section><!-- 5Buntitled-5D -->
158
-
159
- </div><!-- documentation -->
89
+ </section>
90
+ </main>
160
91
 
161
92
 
162
- <footer id="validator-badges">
163
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
164
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.1.
165
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
93
+ <footer id="validator-badges" role="contentinfo">
94
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
95
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
96
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
166
97
  </footer>
167
98
 
@@ -2,163 +2,97 @@
2
2
 
3
3
  <html>
4
4
  <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
5
+ <meta charset="UTF-8">
6
6
 
7
7
  <title>class Rack::RubyProf - ruby-prof</title>
8
8
 
9
- <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
9
+ <link href="../fonts.css" rel="stylesheet">
10
+ <link href="../rdoc.css" rel="stylesheet">
10
11
 
11
12
  <script type="text/javascript">
12
13
  var rdoc_rel_prefix = "../";
13
14
  </script>
14
15
 
15
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
16
+ <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
+ <script src="../js/darkfish.js"></script>
21
22
 
22
23
 
23
- <body id="top" class="class">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="../index.html">Home</a>
24
+ <body id="top" role="document" class="class">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
28
34
  <a href="../table_of_contents.html#classes">Classes</a>
29
35
  <a href="../table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
36
+ </div>
37
+ </div>
33
38
 
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
35
40
  <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
38
45
  title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
46
+ </div>
41
47
 
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
44
-
45
-
46
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>lib/ruby-prof/rack.rb
51
- </ul>
52
- </nav>
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
53
 
54
-
55
54
  </div>
56
55
 
56
+
57
+
57
58
  <div id="class-metadata">
58
59
 
59
- <nav id="parent-class-section" class="section">
60
- <h3 class="section-header">Parent</h3>
60
+ <div id="parent-class-section" class="nav-section">
61
+ <h3>Parent</h3>
62
+
61
63
 
62
64
  <p class="link">Object
63
65
 
64
- </nav>
66
+ </div>
65
67
 
66
68
 
69
+
67
70
  <!-- Method Quickref -->
68
- <nav id="method-list-section" class="section">
69
- <h3 class="section-header">Methods</h3>
71
+ <div id="method-list-section" class="nav-section">
72
+ <h3>Methods</h3>
70
73
 
71
- <ul class="link-list">
74
+ <ul class="link-list" role="directory">
72
75
 
73
- <li><a href="#method-c-new">::new</a>
76
+ <li ><a href="#method-c-new">::new</a>
74
77
 
75
- <li><a href="#method-i-call">#call</a>
78
+ <li ><a href="#method-i-call">#call</a>
76
79
 
77
- <li><a href="#method-i-print">#print</a>
80
+ <li ><a href="#method-i-print">#print</a>
78
81
 
79
82
  </ul>
80
- </nav>
81
-
82
- </div>
83
-
84
- <div id="project-metadata">
85
- <nav id="fileindex-section" class="section project-section">
86
- <h3 class="section-header">Pages</h3>
87
-
88
- <ul>
89
-
90
- <li class="file"><a href="../LICENSE.html">LICENSE</a>
91
-
92
- <li class="file"><a href="../README_rdoc.html">README</a>
93
-
94
- <li class="file"><a href="../examples/flat_txt.html">flat</a>
95
-
96
- <li class="file"><a href="../examples/graph_txt.html">graph</a>
97
-
98
- </ul>
99
- </nav>
100
-
101
- <nav id="classindex-section" class="section project-section">
102
- <h3 class="section-header">Class and Module Index</h3>
103
-
104
- <ul class="link-list">
105
-
106
- <li><a href="../RubyProf.html">RubyProf</a>
107
-
108
- <li><a href="../RubyProf/AbstractPrinter.html">RubyProf::AbstractPrinter</a>
109
-
110
- <li><a href="../RubyProf/AggregateCallInfo.html">RubyProf::AggregateCallInfo</a>
111
-
112
- <li><a href="../RubyProf/CallInfo.html">RubyProf::CallInfo</a>
113
-
114
- <li><a href="../RubyProf/CallInfoPrinter.html">RubyProf::CallInfoPrinter</a>
115
-
116
- <li><a href="../RubyProf/CallInfoVisitor.html">RubyProf::CallInfoVisitor</a>
117
-
118
- <li><a href="../RubyProf/CallStackPrinter.html">RubyProf::CallStackPrinter</a>
119
-
120
- <li><a href="../RubyProf/CallTreePrinter.html">RubyProf::CallTreePrinter</a>
121
-
122
- <li><a href="../RubyProf/Cmd.html">RubyProf::Cmd</a>
123
-
124
- <li><a href="../RubyProf/DotPrinter.html">RubyProf::DotPrinter</a>
125
-
126
- <li><a href="../RubyProf/FlatPrinter.html">RubyProf::FlatPrinter</a>
127
-
128
- <li><a href="../RubyProf/FlatPrinterWithLineNumbers.html">RubyProf::FlatPrinterWithLineNumbers</a>
129
-
130
- <li><a href="../RubyProf/GraphHtmlPrinter.html">RubyProf::GraphHtmlPrinter</a>
131
-
132
- <li><a href="../RubyProf/GraphPrinter.html">RubyProf::GraphPrinter</a>
133
-
134
- <li><a href="../RubyProf/MethodInfo.html">RubyProf::MethodInfo</a>
135
-
136
- <li><a href="../RubyProf/MultiPrinter.html">RubyProf::MultiPrinter</a>
137
-
138
- <li><a href="../RubyProf/Profile.html">RubyProf::Profile</a>
139
-
140
- <li><a href="../RubyProf/ProfileTask.html">RubyProf::ProfileTask</a>
141
-
142
- <li><a href="../RubyProf/Test.html">RubyProf::Test</a>
143
-
144
- <li><a href="../RubyProf/Thread.html">RubyProf::Thread</a>
145
-
146
- <li><a href="../Rack.html">Rack</a>
147
-
148
- <li><a href="../Rack/RubyProf.html">Rack::RubyProf</a>
149
-
150
- </ul>
151
- </nav>
83
+ </div>
152
84
 
153
85
  </div>
154
86
  </nav>
155
87
 
156
- <div id="documentation">
157
- <h1 class="class">class Rack::RubyProf</h1>
88
+ <main role="main" aria-labelledby="class-Rack::RubyProf">
89
+ <h1 id="class-Rack::RubyProf" class="class">
90
+ class Rack::RubyProf
91
+ </h1>
158
92
 
159
- <div id="description" class="description">
93
+ <section class="description">
160
94
 
161
- </div><!-- description -->
95
+ </section>
162
96
 
163
97
 
164
98
 
@@ -172,10 +106,11 @@
172
106
 
173
107
 
174
108
 
175
- <!-- Methods -->
176
109
 
177
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
178
- <h3 class="section-header">Public Class Methods</h3>
110
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
111
+ <header>
112
+ <h3>Public Class Methods</h3>
113
+ </header>
179
114
 
180
115
 
181
116
  <div id="method-c-new" class="method-detail ">
@@ -183,7 +118,9 @@
183
118
  <div class="method-heading">
184
119
  <span class="method-name">new</span><span
185
120
  class="method-args">(app, options = {})</span>
121
+
186
122
  <span class="method-click-advice">click to toggle source</span>
123
+
187
124
  </div>
188
125
 
189
126
 
@@ -191,36 +128,39 @@
191
128
 
192
129
 
193
130
 
131
+
194
132
 
195
133
 
196
134
  <div class="method-source-code" id="new-source">
197
135
  <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 5</span>
198
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">options</span> = {})
199
- <span class="ruby-ivar">@app</span> = <span class="ruby-identifier">app</span>
200
- <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
201
- <span class="ruby-ivar">@options</span>[<span class="ruby-value">:min_percent</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">1</span>
202
- <span class="ruby-ivar">@tmpdir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">tmpdir</span>
203
- <span class="ruby-ivar">@printer_klasses</span> = <span class="ruby-ivar">@options</span>[<span class="ruby-value">:printers</span>] <span class="ruby-operator">||</span> {<span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">FlatPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;flat.txt&#39;</span>,
204
- <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.txt&#39;</span>,
205
- <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphHtmlPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.html&#39;</span>,
206
- <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CallStackPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;call_stack.html&#39;</span>}
207
-
208
- <span class="ruby-ivar">@skip_paths</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:skip_paths</span>] <span class="ruby-operator">||</span> [<span class="ruby-regexp">%r{^/assets}</span>, <span class="ruby-regexp">%r{\.css$}</span>, <span class="ruby-regexp">%r{\.js$}</span>, <span class="ruby-regexp">%r{\.png$}</span>, <span class="ruby-regexp">%r{\.jpeg$}</span>, <span class="ruby-regexp">%r{\.jpg$}</span>, <span class="ruby-regexp">%r{\.gif$}</span>]
136
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">options</span> = {})
137
+ <span class="ruby-ivar">@app</span> = <span class="ruby-identifier">app</span>
138
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
139
+ <span class="ruby-ivar">@options</span>[<span class="ruby-value">:min_percent</span>] <span class="ruby-operator">||=</span> <span class="ruby-value">1</span>
140
+ <span class="ruby-ivar">@tmpdir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">tmpdir</span>
141
+ <span class="ruby-ivar">@printer_klasses</span> = <span class="ruby-ivar">@options</span>[<span class="ruby-value">:printers</span>] <span class="ruby-operator">||</span> {<span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">FlatPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;flat.txt&#39;</span>,
142
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.txt&#39;</span>,
143
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">GraphHtmlPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;graph.html&#39;</span>,
144
+ <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">CallStackPrinter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&#39;call_stack.html&#39;</span>}
145
+
146
+ <span class="ruby-ivar">@skip_paths</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:skip_paths</span>] <span class="ruby-operator">||</span> [<span class="ruby-regexp">%r{^/assets}</span>, <span class="ruby-regexp">%r{\.css$}</span>, <span class="ruby-regexp">%r{\.js$}</span>, <span class="ruby-regexp">%r{\.png$}</span>, <span class="ruby-regexp">%r{\.jpeg$}</span>, <span class="ruby-regexp">%r{\.jpg$}</span>, <span class="ruby-regexp">%r{\.gif$}</span>]
209
147
  <span class="ruby-keyword">end</span></pre>
210
- </div><!-- new-source -->
148
+ </div>
211
149
 
212
150
  </div>
213
151
 
214
152
 
215
153
 
216
154
 
217
- </div><!-- new-method -->
155
+ </div>
218
156
 
219
157
 
220
- </section><!-- public-class-method-details -->
158
+ </section>
221
159
 
222
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
223
- <h3 class="section-header">Public Instance Methods</h3>
160
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
161
+ <header>
162
+ <h3>Public Instance Methods</h3>
163
+ </header>
224
164
 
225
165
 
226
166
  <div id="method-i-call" class="method-detail ">
@@ -228,7 +168,9 @@
228
168
  <div class="method-heading">
229
169
  <span class="method-name">call</span><span
230
170
  class="method-args">(env)</span>
171
+
231
172
  <span class="method-click-advice">click to toggle source</span>
173
+
232
174
  </div>
233
175
 
234
176
 
@@ -236,36 +178,37 @@
236
178
 
237
179
 
238
180
 
181
+
239
182
 
240
183
 
241
184
  <div class="method-source-code" id="call-source">
242
185
  <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 18</span>
243
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
244
- <span class="ruby-identifier">request</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">env</span>)
245
-
246
- <span class="ruby-keyword">if</span> <span class="ruby-ivar">@skip_paths</span>.<span class="ruby-identifier">any?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">skip_path</span><span class="ruby-operator">|</span> <span class="ruby-identifier">skip_path</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>}
247
- <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
248
- <span class="ruby-keyword">else</span>
249
- <span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
250
- <span class="ruby-identifier">data</span> = <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">Profile</span>.<span class="ruby-identifier">profile</span> <span class="ruby-keyword">do</span>
251
- <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
252
- <span class="ruby-keyword">end</span>
253
-
254
- <span class="ruby-identifier">path</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;/&#39;</span>, <span class="ruby-string">&#39;-&#39;</span>)
255
- <span class="ruby-identifier">path</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>)
256
-
257
- <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
258
- <span class="ruby-identifier">result</span>
259
- <span class="ruby-keyword">end</span>
186
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
187
+ <span class="ruby-identifier">request</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">env</span>)
188
+
189
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@skip_paths</span>.<span class="ruby-identifier">any?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">skip_path</span><span class="ruby-operator">|</span> <span class="ruby-identifier">skip_path</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>}
190
+ <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
191
+ <span class="ruby-keyword">else</span>
192
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
193
+ <span class="ruby-identifier">data</span> = <span class="ruby-operator">::</span><span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">Profile</span>.<span class="ruby-identifier">profile</span> <span class="ruby-keyword">do</span>
194
+ <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
195
+ <span class="ruby-keyword">end</span>
196
+
197
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">request</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;/&#39;</span>, <span class="ruby-string">&#39;-&#39;</span>)
198
+ <span class="ruby-identifier">path</span>.<span class="ruby-identifier">slice!</span>(<span class="ruby-value">0</span>)
199
+
200
+ <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
201
+ <span class="ruby-identifier">result</span>
202
+ <span class="ruby-keyword">end</span>
260
203
  <span class="ruby-keyword">end</span></pre>
261
- </div><!-- call-source -->
204
+ </div>
262
205
 
263
206
  </div>
264
207
 
265
208
 
266
209
 
267
210
 
268
- </div><!-- call-method -->
211
+ </div>
269
212
 
270
213
 
271
214
  <div id="method-i-print" class="method-detail ">
@@ -273,7 +216,9 @@
273
216
  <div class="method-heading">
274
217
  <span class="method-name">print</span><span
275
218
  class="method-args">(data, path)</span>
219
+
276
220
  <span class="method-click-advice">click to toggle source</span>
221
+
277
222
  </div>
278
223
 
279
224
 
@@ -281,39 +226,39 @@
281
226
 
282
227
 
283
228
 
229
+
284
230
 
285
231
 
286
232
  <div class="method-source-code" id="print-source">
287
233
  <pre><span class="ruby-comment"># File lib/ruby-prof/rack.rb, line 37</span>
288
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
289
- <span class="ruby-ivar">@printer_klasses</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">printer_klass</span>, <span class="ruby-identifier">base_name</span><span class="ruby-operator">|</span>
290
- <span class="ruby-identifier">printer</span> = <span class="ruby-identifier">printer_klass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data</span>)
291
- <span class="ruby-identifier">file_name</span> = <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@tmpdir</span>, <span class="ruby-node">&quot;#{path}-#{base_name}&quot;</span>)
292
- <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_name</span>, <span class="ruby-string">&#39;wb&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
293
- <span class="ruby-identifier">printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@options</span>)
294
- <span class="ruby-keyword">end</span>
295
- <span class="ruby-keyword">end</span>
234
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">path</span>)
235
+ <span class="ruby-ivar">@printer_klasses</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">printer_klass</span>, <span class="ruby-identifier">base_name</span><span class="ruby-operator">|</span>
236
+ <span class="ruby-identifier">printer</span> = <span class="ruby-identifier">printer_klass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">data</span>)
237
+ <span class="ruby-identifier">file_name</span> = <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@tmpdir</span>, <span class="ruby-node">&quot;#{path}-#{base_name}&quot;</span>)
238
+ <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_name</span>, <span class="ruby-string">&#39;wb&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
239
+ <span class="ruby-identifier">printer</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">file</span>, <span class="ruby-ivar">@options</span>)
240
+ <span class="ruby-keyword">end</span>
241
+ <span class="ruby-keyword">end</span>
296
242
  <span class="ruby-keyword">end</span></pre>
297
- </div><!-- print-source -->
243
+ </div>
298
244
 
299
245
  </div>
300
246
 
301
247
 
302
248
 
303
249
 
304
- </div><!-- print-method -->
250
+ </div>
305
251
 
306
252
 
307
- </section><!-- public-instance-method-details -->
253
+ </section>
308
254
 
309
- </section><!-- 5Buntitled-5D -->
310
-
311
- </div><!-- documentation -->
255
+ </section>
256
+ </main>
312
257
 
313
258
 
314
- <footer id="validator-badges">
315
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
316
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.1.
317
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
259
+ <footer id="validator-badges" role="contentinfo">
260
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
261
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
262
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
318
263
  </footer>
319
264