stella 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/README.txt +84 -24
  2. data/Rakefile +6 -1
  3. data/lib/stella.rb +5 -4
  4. data/lib/stella/adapter/ab.rb +31 -4
  5. data/lib/stella/adapter/base.rb +15 -1
  6. data/lib/stella/adapter/httperf.rb +35 -4
  7. data/lib/stella/adapter/siege.rb +51 -29
  8. data/lib/stella/cli.rb +45 -22
  9. data/lib/stella/cli/agents.rb +73 -0
  10. data/lib/stella/cli/language.rb +2 -0
  11. data/lib/stella/cli/localtest.rb +5 -0
  12. data/lib/stella/command/base.rb +1 -1
  13. data/lib/stella/command/localtest.rb +84 -68
  14. data/lib/stella/test/{summarybase.rb → base.rb} +3 -7
  15. data/lib/stella/test/definition.rb +10 -5
  16. data/lib/stella/test/{runsummary.rb → run/summary.rb} +4 -6
  17. data/lib/stella/test/{testsummary.rb → summary.rb} +27 -29
  18. data/lib/utils/escape.rb +302 -0
  19. data/lib/utils/mathutil.rb +36 -34
  20. data/support/text/en.yaml +7 -1
  21. metadata +8 -102
  22. data/doc/classes/Crypto.html +0 -248
  23. data/doc/classes/Crypto/Key.html +0 -308
  24. data/doc/classes/Enumerable.html +0 -309
  25. data/doc/classes/FileUtil.html +0 -310
  26. data/doc/classes/HTTPUtil.html +0 -530
  27. data/doc/classes/MathUtil.html +0 -210
  28. data/doc/classes/Stella.html +0 -238
  29. data/doc/classes/Stella/Adapter.html +0 -127
  30. data/doc/classes/Stella/Adapter/ApacheBench.html +0 -1076
  31. data/doc/classes/Stella/Adapter/Base.html +0 -432
  32. data/doc/classes/Stella/Adapter/CommandNotReady.html +0 -146
  33. data/doc/classes/Stella/Adapter/Httperf.html +0 -949
  34. data/doc/classes/Stella/Adapter/Siege.html +0 -1011
  35. data/doc/classes/Stella/CLI.html +0 -914
  36. data/doc/classes/Stella/CLI/Base.html +0 -186
  37. data/doc/classes/Stella/CLI/Language.html +0 -149
  38. data/doc/classes/Stella/CLI/LocalTest.html +0 -268
  39. data/doc/classes/Stella/Command.html +0 -111
  40. data/doc/classes/Stella/Command/Base.html +0 -335
  41. data/doc/classes/Stella/Config.html +0 -292
  42. data/doc/classes/Stella/InvalidArgument.html +0 -242
  43. data/doc/classes/Stella/LocalTest.html +0 -450
  44. data/doc/classes/Stella/Logger.html +0 -548
  45. data/doc/classes/Stella/Response.html +0 -846
  46. data/doc/classes/Stella/Storable.html +0 -928
  47. data/doc/classes/Stella/Test.html +0 -142
  48. data/doc/classes/Stella/Test/DaySummary.html +0 -249
  49. data/doc/classes/Stella/Test/Definition.html +0 -294
  50. data/doc/classes/Stella/Test/Definition/Rampup.html +0 -215
  51. data/doc/classes/Stella/Test/RunSummary.html +0 -315
  52. data/doc/classes/Stella/Test/SummaryBase.html +0 -286
  53. data/doc/classes/Stella/Test/TestSummary.html +0 -200
  54. data/doc/classes/Stella/Text.html +0 -581
  55. data/doc/classes/Stella/Text/Resource.html +0 -289
  56. data/doc/classes/Stella/UnavailableAdapter.html +0 -242
  57. data/doc/classes/Stella/UnknownValue.html +0 -242
  58. data/doc/classes/Stella/UnsupportedLanguage.html +0 -115
  59. data/doc/classes/Stella/Util.html +0 -348
  60. data/doc/classes/TextGraph.html +0 -460
  61. data/doc/classes/TimerUtil.html +0 -431
  62. data/doc/created.rid +0 -1
  63. data/doc/files/LICENSE_txt.html +0 -129
  64. data/doc/files/README_txt.html +0 -209
  65. data/doc/files/lib/stella/adapter/ab_rb.html +0 -101
  66. data/doc/files/lib/stella/adapter/base_rb.html +0 -101
  67. data/doc/files/lib/stella/adapter/httperf_rb.html +0 -101
  68. data/doc/files/lib/stella/adapter/siege_rb.html +0 -101
  69. data/doc/files/lib/stella/cli/base_rb.html +0 -101
  70. data/doc/files/lib/stella/cli/language_rb.html +0 -101
  71. data/doc/files/lib/stella/cli/localtest_rb.html +0 -101
  72. data/doc/files/lib/stella/cli_rb.html +0 -112
  73. data/doc/files/lib/stella/command/base_rb.html +0 -101
  74. data/doc/files/lib/stella/command/localtest_rb.html +0 -101
  75. data/doc/files/lib/stella/logger_rb.html +0 -101
  76. data/doc/files/lib/stella/response_rb.html +0 -101
  77. data/doc/files/lib/stella/storable_rb.html +0 -109
  78. data/doc/files/lib/stella/support_rb.html +0 -101
  79. data/doc/files/lib/stella/test/daysummary_rb.html +0 -101
  80. data/doc/files/lib/stella/test/definition_rb.html +0 -101
  81. data/doc/files/lib/stella/test/runsummary_rb.html +0 -101
  82. data/doc/files/lib/stella/test/summarybase_rb.html +0 -101
  83. data/doc/files/lib/stella/test/testsummary_rb.html +0 -108
  84. data/doc/files/lib/stella/text/resource_rb.html +0 -108
  85. data/doc/files/lib/stella/text_rb.html +0 -108
  86. data/doc/files/lib/stella_rb.html +0 -128
  87. data/doc/files/lib/utils/crypto-key_rb.html +0 -116
  88. data/doc/files/lib/utils/fileutil_rb.html +0 -108
  89. data/doc/files/lib/utils/httputil_rb.html +0 -110
  90. data/doc/files/lib/utils/mathutil_rb.html +0 -101
  91. data/doc/files/lib/utils/textgraph_rb.html +0 -138
  92. data/doc/files/lib/utils/timerutil_rb.html +0 -108
  93. data/doc/fr_class_index.html +0 -66
  94. data/doc/fr_file_index.html +0 -62
  95. data/doc/fr_method_index.html +0 -309
  96. data/doc/index.html +0 -24
  97. data/doc/rdoc-style.css +0 -208
  98. data/lib/stella/test/daysummary.rb +0 -93
  99. data/spec/base.rb +0 -26
  100. data/spec/shell_spec.rb +0 -12
@@ -1,949 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: Stella::Adapter::Httperf</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">Stella::Adapter::Httperf</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/stella/adapter/httperf_rb.html">
59
- lib/stella/adapter/httperf.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Base.html">
69
- Stella::Adapter::Base
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- Usage: httperf [-hdvV] [&#8212;add-header S] [&#8212;burst-length N]
86
- [&#8212;client N/N]
87
- </p>
88
- <pre>
89
- [--close-with-reset] [--debug N] [--failure-status N]
90
- [--help] [--hog] [--http-version S] [--max-connections N]
91
- [--max-piped-calls N] [--method S] [--no-host-hdr]
92
- [--num-calls N] [--num-conns N] [--period [d|u|e]T1[,T2]]
93
- [--port N] [--print-reply [header|body]] [--print-request [header|body]]
94
- [--rate X] [--recv-buffer N] [--retry-on-failure] [--send-buffer N]
95
- [--server S] [--server-name S] [--session-cookies]
96
- [--ssl] [--ssl-ciphers L] [--ssl-no-reuse]
97
- [--think-timeout X] [--timeout X] [--uri S] [--verbose] [--version]
98
- [--wlog y|n,file] [--wsess N,N,X] [--wsesslog N,X,file]
99
- [--wset N,X]
100
- </pre>
101
-
102
- </div>
103
-
104
-
105
- </div>
106
-
107
- <div id="method-list">
108
- <h3 class="section-bar">Methods</h3>
109
-
110
- <div class="name-list">
111
- <a href="#M000084">after</a>&nbsp;&nbsp;
112
- <a href="#M000082">before</a>&nbsp;&nbsp;
113
- <a href="#M000083">command</a>&nbsp;&nbsp;
114
- <a href="#M000087">loadtest?</a>&nbsp;&nbsp;
115
- <a href="#M000096">log_file</a>&nbsp;&nbsp;
116
- <a href="#M000081">new</a>&nbsp;&nbsp;
117
- <a href="#M000085">process_options</a>&nbsp;&nbsp;
118
- <a href="#M000095">rc_file</a>&nbsp;&nbsp;
119
- <a href="#M000088">ready?</a>&nbsp;&nbsp;
120
- <a href="#M000091">requests</a>&nbsp;&nbsp;
121
- <a href="#M000092">requests=</a>&nbsp;&nbsp;
122
- <a href="#M000098">stats</a>&nbsp;&nbsp;
123
- <a href="#M000094">stats_file</a>&nbsp;&nbsp;
124
- <a href="#M000097">uris_file</a>&nbsp;&nbsp;
125
- <a href="#M000086">version</a>&nbsp;&nbsp;
126
- <a href="#M000093">vuser_requests</a>&nbsp;&nbsp;
127
- <a href="#M000089">vusers</a>&nbsp;&nbsp;
128
- <a href="#M000090">vusers=</a>&nbsp;&nbsp;
129
- </div>
130
- </div>
131
-
132
- </div>
133
-
134
-
135
- <!-- if includes -->
136
-
137
- <div id="section">
138
-
139
-
140
-
141
-
142
-
143
- <div id="attribute-list">
144
- <h3 class="section-bar">Attributes</h3>
145
-
146
- <div class="name-list">
147
- <table>
148
- <tr class="top-aligned-row context-row">
149
- <td class="context-item-name">add_header</td>
150
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
151
- <td class="context-item-desc"></td>
152
- </tr>
153
- <tr class="top-aligned-row context-row">
154
- <td class="context-item-name">burst_length</td>
155
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
156
- <td class="context-item-desc"></td>
157
- </tr>
158
- <tr class="top-aligned-row context-row">
159
- <td class="context-item-name">client</td>
160
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
161
- <td class="context-item-desc"></td>
162
- </tr>
163
- <tr class="top-aligned-row context-row">
164
- <td class="context-item-name">close_with_reset</td>
165
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
166
- <td class="context-item-desc"></td>
167
- </tr>
168
- <tr class="top-aligned-row context-row">
169
- <td class="context-item-name">debug</td>
170
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
171
- <td class="context-item-desc"></td>
172
- </tr>
173
- <tr class="top-aligned-row context-row">
174
- <td class="context-item-name">failure_status</td>
175
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
176
- <td class="context-item-desc"></td>
177
- </tr>
178
- <tr class="top-aligned-row context-row">
179
- <td class="context-item-name">help</td>
180
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
181
- <td class="context-item-desc"></td>
182
- </tr>
183
- <tr class="top-aligned-row context-row">
184
- <td class="context-item-name">hog</td>
185
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
186
- <td class="context-item-desc"></td>
187
- </tr>
188
- <tr class="top-aligned-row context-row">
189
- <td class="context-item-name">http_version</td>
190
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
191
- <td class="context-item-desc"></td>
192
- </tr>
193
- <tr class="top-aligned-row context-row">
194
- <td class="context-item-name">max_connections</td>
195
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
196
- <td class="context-item-desc"></td>
197
- </tr>
198
- <tr class="top-aligned-row context-row">
199
- <td class="context-item-name">max_piped_calls</td>
200
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
201
- <td class="context-item-desc"></td>
202
- </tr>
203
- <tr class="top-aligned-row context-row">
204
- <td class="context-item-name">method</td>
205
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
206
- <td class="context-item-desc"></td>
207
- </tr>
208
- <tr class="top-aligned-row context-row">
209
- <td class="context-item-name">no_host_hdr</td>
210
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
211
- <td class="context-item-desc"></td>
212
- </tr>
213
- <tr class="top-aligned-row context-row">
214
- <td class="context-item-name">num_calls</td>
215
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
216
- <td class="context-item-desc"></td>
217
- </tr>
218
- <tr class="top-aligned-row context-row">
219
- <td class="context-item-name">num_conns</td>
220
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
221
- <td class="context-item-desc"></td>
222
- </tr>
223
- <tr class="top-aligned-row context-row">
224
- <td class="context-item-name">period</td>
225
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
226
- <td class="context-item-desc"></td>
227
- </tr>
228
- <tr class="top-aligned-row context-row">
229
- <td class="context-item-name">port</td>
230
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
231
- <td class="context-item-desc"></td>
232
- </tr>
233
- <tr class="top-aligned-row context-row">
234
- <td class="context-item-name">print_reply</td>
235
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
236
- <td class="context-item-desc"></td>
237
- </tr>
238
- <tr class="top-aligned-row context-row">
239
- <td class="context-item-name">print_request</td>
240
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
241
- <td class="context-item-desc"></td>
242
- </tr>
243
- <tr class="top-aligned-row context-row">
244
- <td class="context-item-name">rate</td>
245
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
246
- <td class="context-item-desc"></td>
247
- </tr>
248
- <tr class="top-aligned-row context-row">
249
- <td class="context-item-name">recv_buffer</td>
250
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
251
- <td class="context-item-desc"></td>
252
- </tr>
253
- <tr class="top-aligned-row context-row">
254
- <td class="context-item-name">retry_on_failure</td>
255
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
256
- <td class="context-item-desc"></td>
257
- </tr>
258
- <tr class="top-aligned-row context-row">
259
- <td class="context-item-name">send_buffer</td>
260
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
261
- <td class="context-item-desc"></td>
262
- </tr>
263
- <tr class="top-aligned-row context-row">
264
- <td class="context-item-name">server</td>
265
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
266
- <td class="context-item-desc"></td>
267
- </tr>
268
- <tr class="top-aligned-row context-row">
269
- <td class="context-item-name">server_name</td>
270
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
271
- <td class="context-item-desc"></td>
272
- </tr>
273
- <tr class="top-aligned-row context-row">
274
- <td class="context-item-name">session_cookies</td>
275
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
276
- <td class="context-item-desc"></td>
277
- </tr>
278
- <tr class="top-aligned-row context-row">
279
- <td class="context-item-name">ssl</td>
280
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
281
- <td class="context-item-desc"></td>
282
- </tr>
283
- <tr class="top-aligned-row context-row">
284
- <td class="context-item-name">ssl_ciphers</td>
285
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
286
- <td class="context-item-desc"></td>
287
- </tr>
288
- <tr class="top-aligned-row context-row">
289
- <td class="context-item-name">ssl_no_reuse</td>
290
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
291
- <td class="context-item-desc"></td>
292
- </tr>
293
- <tr class="top-aligned-row context-row">
294
- <td class="context-item-name">think_timeout</td>
295
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
296
- <td class="context-item-desc"></td>
297
- </tr>
298
- <tr class="top-aligned-row context-row">
299
- <td class="context-item-name">timeout</td>
300
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
301
- <td class="context-item-desc"></td>
302
- </tr>
303
- <tr class="top-aligned-row context-row">
304
- <td class="context-item-name">uri</td>
305
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
306
- <td class="context-item-desc"></td>
307
- </tr>
308
- <tr class="top-aligned-row context-row">
309
- <td class="context-item-name">verbose</td>
310
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
311
- <td class="context-item-desc"></td>
312
- </tr>
313
- <tr class="top-aligned-row context-row">
314
- <td class="context-item-name">version</td>
315
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
316
- <td class="context-item-desc"></td>
317
- </tr>
318
- <tr class="top-aligned-row context-row">
319
- <td class="context-item-name">wlog</td>
320
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
321
- <td class="context-item-desc"></td>
322
- </tr>
323
- <tr class="top-aligned-row context-row">
324
- <td class="context-item-name">wsess</td>
325
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
326
- <td class="context-item-desc"></td>
327
- </tr>
328
- <tr class="top-aligned-row context-row">
329
- <td class="context-item-name">wsesslog</td>
330
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
331
- <td class="context-item-desc"></td>
332
- </tr>
333
- <tr class="top-aligned-row context-row">
334
- <td class="context-item-name">wset</td>
335
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
336
- <td class="context-item-desc"></td>
337
- </tr>
338
- </table>
339
- </div>
340
- </div>
341
-
342
-
343
-
344
- <!-- if method_list -->
345
- <div id="methods">
346
- <h3 class="section-bar">Public Class methods</h3>
347
-
348
- <div id="method-M000081" class="method-detail">
349
- <a name="M000081"></a>
350
-
351
- <div class="method-heading">
352
- <a href="#M000081" class="method-signature">
353
- <span class="method-name">new</span><span class="method-args">(options={}, arguments=[])</span>
354
- </a>
355
- </div>
356
-
357
- <div class="method-description">
358
- <p><a class="source-toggle" href="#"
359
- onclick="toggleCode('M000081-source');return false;">[Source]</a></p>
360
- <div class="method-source-code" id="M000081-source">
361
- <pre>
362
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 30</span>
363
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>={}, <span class="ruby-identifier">arguments</span>=[])
364
- 31: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">options</span>, <span class="ruby-identifier">arguments</span>)
365
- 32: <span class="ruby-ivar">@name</span> = <span class="ruby-value str">'httperf'</span>
366
- 33:
367
- 34: <span class="ruby-ivar">@private_variables</span> = [<span class="ruby-value str">'private_variables'</span>, <span class="ruby-value str">'name'</span>, <span class="ruby-value str">'arguments'</span>, <span class="ruby-value str">'load_factor'</span>, <span class="ruby-value str">'working_directory'</span>]
368
- 35: <span class="ruby-ivar">@load_factor</span> = <span class="ruby-value">1</span>
369
- 36: <span class="ruby-keyword kw">end</span>
370
- </pre>
371
- </div>
372
- </div>
373
- </div>
374
-
375
- <h3 class="section-bar">Public Instance methods</h3>
376
-
377
- <div id="method-M000084" class="method-detail">
378
- <a name="M000084"></a>
379
-
380
- <div class="method-heading">
381
- <a href="#M000084" class="method-signature">
382
- <span class="method-name">after</span><span class="method-args">()</span>
383
- </a>
384
- </div>
385
-
386
- <div class="method-description">
387
- <p>
388
- After calling run
389
- </p>
390
- <p><a class="source-toggle" href="#"
391
- onclick="toggleCode('M000084-source');return false;">[Source]</a></p>
392
- <div class="method-source-code" id="M000084-source">
393
- <pre>
394
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 70</span>
395
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">after</span>
396
- 71:
397
- 72:
398
- 73: <span class="ruby-identifier">save_stats</span>
399
- 74: <span class="ruby-keyword kw">end</span>
400
- </pre>
401
- </div>
402
- </div>
403
- </div>
404
-
405
- <div id="method-M000082" class="method-detail">
406
- <a name="M000082"></a>
407
-
408
- <div class="method-heading">
409
- <a href="#M000082" class="method-signature">
410
- <span class="method-name">before</span><span class="method-args">()</span>
411
- </a>
412
- </div>
413
-
414
- <div class="method-description">
415
- <p>
416
- Before calling run
417
- </p>
418
- <p><a class="source-toggle" href="#"
419
- onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
420
- <div class="method-source-code" id="M000082-source">
421
- <pre>
422
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 41</span>
423
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before</span>
424
- 42:
425
- 43:
426
- 44: <span class="ruby-keyword kw">end</span>
427
- </pre>
428
- </div>
429
- </div>
430
- </div>
431
-
432
- <div id="method-M000083" class="method-detail">
433
- <a name="M000083"></a>
434
-
435
- <div class="method-heading">
436
- <a href="#M000083" class="method-signature">
437
- <span class="method-name">command</span><span class="method-args">()</span>
438
- </a>
439
- </div>
440
-
441
- <div class="method-description">
442
- <p><a class="source-toggle" href="#"
443
- onclick="toggleCode('M000083-source');return false;">[Source]</a></p>
444
- <div class="method-source-code" id="M000083-source">
445
- <pre>
446
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 45</span>
447
- 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">command</span>
448
- 46: <span class="ruby-identifier">raise</span> <span class="ruby-constant">CommandNotReady</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ready?</span>
449
- 47:
450
- 48: <span class="ruby-identifier">command</span> = <span class="ruby-node">&quot;#{@name} &quot;</span>
451
- 49:
452
- 50: <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
453
- 51: <span class="ruby-identifier">canon</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">'@'</span>, <span class="ruby-value str">''</span>) <span class="ruby-comment cmt"># instance_variables returns '@name'</span>
454
- 52: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@private_variables</span>.<span class="ruby-identifier">member?</span>(<span class="ruby-identifier">canon</span>)
455
- 53:
456
- 54: <span class="ruby-comment cmt"># It's important that we take the value from the getter method</span>
457
- 55: <span class="ruby-comment cmt"># because it applies the load factor. </span>
458
- 56: <span class="ruby-identifier">value</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">canon</span>)
459
- 57: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">value</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>)
460
- 58: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">el</span><span class="ruby-operator">|</span> <span class="ruby-identifier">command</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--#{canon.tr('_', '-')} '#{el}' &quot;</span> }
461
- 59: <span class="ruby-keyword kw">else</span>
462
- 60: <span class="ruby-identifier">command</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--#{canon.tr('_', '-')} '#{value}' &quot;</span>
463
- 61: <span class="ruby-keyword kw">end</span>
464
- 62:
465
- 63: <span class="ruby-keyword kw">end</span>
466
- 64:
467
- 65: <span class="ruby-identifier">command</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;'#{uri}'&quot;</span> }).<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">empty?</span>
468
- 66: <span class="ruby-identifier">command</span>
469
- 67: <span class="ruby-keyword kw">end</span>
470
- </pre>
471
- </div>
472
- </div>
473
- </div>
474
-
475
- <div id="method-M000087" class="method-detail">
476
- <a name="M000087"></a>
477
-
478
- <div class="method-heading">
479
- <a href="#M000087" class="method-signature">
480
- <span class="method-name">loadtest?</span><span class="method-args">()</span>
481
- </a>
482
- </div>
483
-
484
- <div class="method-description">
485
- <p>
486
- loadtest
487
- </p>
488
- <p>
489
- True or false: is the call to siege a load test? If it&#8216;s a call to
490
- help or <a href="Httperf.html#M000086">version</a> or to display the config
491
- this with return false. It&#8216;s no reason for someone to make this call
492
- through <a href="../../Stella.html">Stella</a> but it&#8216;s here for
493
- goodness sake.
494
- </p>
495
- <p><a class="source-toggle" href="#"
496
- onclick="toggleCode('M000087-source');return false;">[Source]</a></p>
497
- <div class="method-source-code" id="M000087-source">
498
- <pre>
499
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 157</span>
500
- 157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">loadtest?</span>
501
- 158: <span class="ruby-ivar">@uri</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">empty?</span>
502
- 159: <span class="ruby-keyword kw">end</span>
503
- </pre>
504
- </div>
505
- </div>
506
- </div>
507
-
508
- <div id="method-M000096" class="method-detail">
509
- <a name="M000096"></a>
510
-
511
- <div class="method-heading">
512
- <a href="#M000096" class="method-signature">
513
- <span class="method-name">log_file</span><span class="method-args">()</span>
514
- </a>
515
- </div>
516
-
517
- <div class="method-description">
518
- <p><a class="source-toggle" href="#"
519
- onclick="toggleCode('M000096-source');return false;">[Source]</a></p>
520
- <div class="method-source-code" id="M000096-source">
521
- <pre>
522
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 201</span>
523
- 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_file</span>
524
- 202: <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@working_directory</span>, <span class="ruby-value str">&quot;siege.log&quot;</span>)
525
- 203: <span class="ruby-keyword kw">end</span>
526
- </pre>
527
- </div>
528
- </div>
529
- </div>
530
-
531
- <div id="method-M000085" class="method-detail">
532
- <a name="M000085"></a>
533
-
534
- <div class="method-heading">
535
- <a href="#M000085" class="method-signature">
536
- <span class="method-name">process_options</span><span class="method-args">(arguments)</span>
537
- </a>
538
- </div>
539
-
540
- <div class="method-description">
541
- <p>
542
- httperf &#8212;hog &#8212;server=queen &#8212;uri=/0k.html
543
- &#8212;num-conns=10000 &#8212;rate=0 &#8212;timeout=30
544
- &#8212;think-timeout=0
545
- </p>
546
- <p><a class="source-toggle" href="#"
547
- onclick="toggleCode('M000085-source');return false;">[Source]</a></p>
548
- <div class="method-source-code" id="M000085-source">
549
- <pre>
550
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 77</span>
551
- 77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_options</span>(<span class="ruby-identifier">arguments</span>)
552
- 78:
553
- 79: <span class="ruby-identifier">options</span> = <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>
554
- 80: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
555
- 81: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--hog'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-ivar">@hog</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
556
- 82: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--server=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
557
- 83: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--server-name=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@server_name</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
558
- 84: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--port=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
559
- 85: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--uri=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@uri</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
560
- 86: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--num-conns=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@num_conns</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
561
- 87: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--num-calls=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@num_calls</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
562
- 88: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--rate=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@rate</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
563
- 89: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--timeout=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@timeout</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
564
- 90: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--think-timeout=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@think_timeout</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
565
- 91:
566
- 92: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-h'</span>, <span class="ruby-value str">'--help'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@help</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
567
- 93: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-v'</span>, <span class="ruby-value str">'--verbose'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@verbose</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
568
- 94: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-V'</span>, <span class="ruby-value str">'--version'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@version</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
569
- 95: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--close-with-reset'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@close_with_reset</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
570
- 96: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--session-cookies'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@session_cookies</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
571
- 97: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--ssl'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ssl</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
572
- 98: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--ssl-ciphers'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ssl_ciphers</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
573
- 99: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--ssl-no-reuse'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ssl_no_reuse</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
574
- 100: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--no-host-hdr'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@no_host_hdr</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
575
- 101: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--retry-on-failure'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@retry_on_failure</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span>
576
- 102:
577
- 103: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--add-header=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@add_header</span> <span class="ruby-operator">||=</span> []; <span class="ruby-ivar">@add_header</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">v</span>; <span class="ruby-keyword kw">end</span>
578
- 104: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--burst-length=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@burst_length</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
579
- 105: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--client=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@client</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
580
- 106: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-d N'</span>, <span class="ruby-value str">'--debug=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@debug</span> <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>; <span class="ruby-ivar">@debug</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
581
- 107: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--failure-status=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@failure_status</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
582
- 108:
583
- 109: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--http-version=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@http_version</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
584
- 110:
585
- 111: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--max-connections=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@max_connections</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
586
- 112: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--max-piped-calls=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@max_piped_calls</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
587
- 113: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--method=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@method</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
588
- 114:
589
- 115: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--period=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@period</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># TODO: Requires parsing</span>
590
- 116: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--print-reply=[S]'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@print_reply</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
591
- 117: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--print-request=[S]'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@print_request</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
592
- 118:
593
- 119: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--recv-buffer=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@recv_buffer</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
594
- 120: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--send-buffer=N'</span>, <span class="ruby-constant">Integer</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@send_buffer</span> = <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">end</span>
595
- 121:
596
- 122:
597
- 123: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--wlog=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@wlog</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">end</span>
598
- 124: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--wsess=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@wsess</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">end</span>
599
- 125: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--wsesslog=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@wsesslog</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">end</span>
600
- 126: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--wset=S'</span>, <span class="ruby-constant">String</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@wset</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">end</span>
601
- 127:
602
- 128: <span class="ruby-comment cmt"># parse! removes the options it finds.</span>
603
- 129: <span class="ruby-comment cmt"># It also fails when it finds unknown switches (i.e. -X)</span>
604
- 130: <span class="ruby-comment cmt"># Which should leave only the remaining arguments (URIs in this case)</span>
605
- 131: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-identifier">arguments</span>)
606
- 132:
607
- 133:
608
- 134: <span class="ruby-identifier">options</span>
609
- 135: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidOption</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
610
- 136: <span class="ruby-comment cmt"># We want to replace this text so we grab just the name of the argument</span>
611
- 137: <span class="ruby-identifier">badarg</span> = <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'invalid option: '</span>, <span class="ruby-value str">''</span>)
612
- 138: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidArgument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">badarg</span>)
613
- 139: <span class="ruby-keyword kw">end</span>
614
- </pre>
615
- </div>
616
- </div>
617
- </div>
618
-
619
- <div id="method-M000095" class="method-detail">
620
- <a name="M000095"></a>
621
-
622
- <div class="method-heading">
623
- <a href="#M000095" class="method-signature">
624
- <span class="method-name">rc_file</span><span class="method-args">()</span>
625
- </a>
626
- </div>
627
-
628
- <div class="method-description">
629
- <p><a class="source-toggle" href="#"
630
- onclick="toggleCode('M000095-source');return false;">[Source]</a></p>
631
- <div class="method-source-code" id="M000095-source">
632
- <pre>
633
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 197</span>
634
- 197: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rc_file</span>
635
- 198: <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@working_directory</span>, <span class="ruby-value str">&quot;siegerc&quot;</span>)
636
- 199: <span class="ruby-keyword kw">end</span>
637
- </pre>
638
- </div>
639
- </div>
640
- </div>
641
-
642
- <div id="method-M000088" class="method-detail">
643
- <a name="M000088"></a>
644
-
645
- <div class="method-heading">
646
- <a href="#M000088" class="method-signature">
647
- <span class="method-name">ready?</span><span class="method-args">()</span>
648
- </a>
649
- </div>
650
-
651
- <div class="method-description">
652
- <p><a class="source-toggle" href="#"
653
- onclick="toggleCode('M000088-source');return false;">[Source]</a></p>
654
- <div class="method-source-code" id="M000088-source">
655
- <pre>
656
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 160</span>
657
- 160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ready?</span>
658
- 161: <span class="ruby-ivar">@name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">empty?</span>
659
- 162: <span class="ruby-keyword kw">end</span>
660
- </pre>
661
- </div>
662
- </div>
663
- </div>
664
-
665
- <div id="method-M000091" class="method-detail">
666
- <a name="M000091"></a>
667
-
668
- <div class="method-heading">
669
- <a href="#M000091" class="method-signature">
670
- <span class="method-name">requests</span><span class="method-args">()</span>
671
- </a>
672
- </div>
673
-
674
- <div class="method-description">
675
- <p><a class="source-toggle" href="#"
676
- onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
677
- <div class="method-source-code" id="M000091-source">
678
- <pre>
679
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 170</span>
680
- 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requests</span>
681
- 171: <span class="ruby-ivar">@num_conns</span> <span class="ruby-comment cmt"># TODO: also check wsess and wlog params</span>
682
- 172: <span class="ruby-keyword kw">end</span>
683
- </pre>
684
- </div>
685
- </div>
686
- </div>
687
-
688
- <div id="method-M000092" class="method-detail">
689
- <a name="M000092"></a>
690
-
691
- <div class="method-heading">
692
- <a href="#M000092" class="method-signature">
693
- <span class="method-name">requests=</span><span class="method-args">(v)</span>
694
- </a>
695
- </div>
696
-
697
- <div class="method-description">
698
- <p><a class="source-toggle" href="#"
699
- onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
700
- <div class="method-source-code" id="M000092-source">
701
- <pre>
702
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 173</span>
703
- 173: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requests=</span>(<span class="ruby-identifier">v</span>)
704
- 174: <span class="ruby-value">0</span>
705
- 175: <span class="ruby-keyword kw">end</span>
706
- </pre>
707
- </div>
708
- </div>
709
- </div>
710
-
711
- <div id="method-M000098" class="method-detail">
712
- <a name="M000098"></a>
713
-
714
- <div class="method-heading">
715
- <a href="#M000098" class="method-signature">
716
- <span class="method-name">stats</span><span class="method-args">()</span>
717
- </a>
718
- </div>
719
-
720
- <div class="method-description">
721
- <p>
722
- httperf &#8212;hog &#8212;timeout=30 &#8212;client=0/1
723
- &#8212;server=127.0.0.1 &#8212;port=5600 &#8212;uri=/
724
- &#8212;send-buffer=4096 &#8212;recv-buffer=16384 &#8212;num-conns=5
725
- &#8212;num-calls=1 httperf: warning: open file limit &gt; FD_SETSIZE;
726
- limiting max. # of open files to FD_SETSIZE Maximum connect burst length: 1
727
- </p>
728
- <p>
729
- Total: connections 5 <a href="Httperf.html#M000091">requests</a> 5 replies
730
- 5 test-duration 0.513 s
731
- </p>
732
- <p>
733
- Connection rate: 9.7 conn/s (102.7 ms/conn, &lt;=1 concurrent connections)
734
- Connection time [ms]: min 102.1 avg 102.7 max 104.1 median 102.5 stddev 0.8
735
- Connection time [ms]: connect 0.2 Connection length [replies/conn]: 1.000
736
- </p>
737
- <p>
738
- Request rate: 9.7 req/s (102.7 ms/req) Request size [B]: 62.0
739
- </p>
740
- <p>
741
- Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
742
- Reply time [ms]: response 102.3 transfer 0.1 Reply size [B]: header 136.0
743
- content 96.0 footer 0.0 (total 232.0) Reply status: 1xx=0 2xx=5 3xx=0 4xx=0
744
- 5xx=0
745
- </p>
746
- <p>
747
- CPU time [s]: user 0.12 system 0.39 (user 22.5% system 75.3% total 97.8%)
748
- Net I/O: 2.8 KB/s (0.0*10^6 bps)
749
- </p>
750
- <p>
751
- Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
752
- Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
753
- </p>
754
- <p><a class="source-toggle" href="#"
755
- onclick="toggleCode('M000098-source');return false;">[Source]</a></p>
756
- <div class="method-source-code" id="M000098-source">
757
- <pre>
758
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 234</span>
759
- 234: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stats</span>
760
- 235: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">stats_file</span>
761
- 236:
762
- 237: <span class="ruby-identifier">raw</span> = <span class="ruby-identifier">stats_file</span>.<span class="ruby-identifier">readlines</span>.<span class="ruby-identifier">join</span>
763
- 238: <span class="ruby-identifier">stats</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Test</span><span class="ruby-operator">::</span><span class="ruby-constant">RunSummary</span>.<span class="ruby-identifier">new</span>
764
- 239:
765
- 240: <span class="ruby-identifier">raw</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/Request rate: (\d+?\.\d+?) req.s .(\d+?\.\d+?) ms.req./</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rate</span>,<span class="ruby-identifier">time</span><span class="ruby-operator">|</span>
766
- 241: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">transaction_rate</span> = <span class="ruby-identifier">rate</span>.<span class="ruby-identifier">to_f</span>
767
- 242: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">response_time</span> = (<span class="ruby-identifier">time</span>.<span class="ruby-identifier">to_f</span>) <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>
768
- 243: <span class="ruby-keyword kw">end</span>
769
- 244:
770
- 245: <span class="ruby-identifier">raw</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/connections (\d+?) requests (\d+?) replies (\d+?) test-duration (\d+\.\d+?) s/</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">conn</span>,<span class="ruby-identifier">req</span>,<span class="ruby-identifier">rep</span>,<span class="ruby-identifier">time</span><span class="ruby-operator">|</span>
771
- 246: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">elapsed_time</span> = <span class="ruby-identifier">time</span>.<span class="ruby-identifier">to_f</span>
772
- 247: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">successful</span> = <span class="ruby-identifier">rep</span>.<span class="ruby-identifier">to_i</span>
773
- 248: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">failed</span> = <span class="ruby-identifier">conn</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">rep</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-comment cmt"># maybe this should be from the Error line</span>
774
- 249: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">transactions</span> = <span class="ruby-identifier">conn</span>.<span class="ruby-identifier">to_i</span>
775
- 250: <span class="ruby-keyword kw">end</span>
776
- 251:
777
- 252: <span class="ruby-identifier">raw</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/Reply size [B]: header (\d+\.\d+?) content (\d+\.\d+?) footer (\d+\.\d+?) .total (\d+\.\d+?)./</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">c</span>,<span class="ruby-identifier">f</span>,<span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
778
- 253: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">data_transferred</span> = ((<span class="ruby-identifier">t</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">||</span> <span class="ruby-value">0</span> ) <span class="ruby-operator">/</span> <span class="ruby-value">1_048_576</span>).<span class="ruby-identifier">to_f</span> <span class="ruby-comment cmt"># TODO: convert from bytes to MB</span>
779
- 254: <span class="ruby-keyword kw">end</span>
780
- 255: <span class="ruby-identifier">stats</span>.<span class="ruby-identifier">vusers</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">vusers</span>
781
- 256:
782
- 257:
783
- 258: <span class="ruby-identifier">stats</span>
784
- 259: <span class="ruby-keyword kw">end</span>
785
- </pre>
786
- </div>
787
- </div>
788
- </div>
789
-
790
- <div id="method-M000094" class="method-detail">
791
- <a name="M000094"></a>
792
-
793
- <div class="method-heading">
794
- <a href="#M000094" class="method-signature">
795
- <span class="method-name">stats_file</span><span class="method-args">()</span>
796
- </a>
797
- </div>
798
-
799
- <div class="method-description">
800
- <p>
801
- <a href="Siege.html">Siege</a> writes the summary to STDERR
802
- </p>
803
- <p><a class="source-toggle" href="#"
804
- onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
805
- <div class="method-source-code" id="M000094-source">
806
- <pre>
807
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 193</span>
808
- 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stats_file</span>
809
- 194: <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">stdout_path</span>)
810
- 195: <span class="ruby-keyword kw">end</span>
811
- </pre>
812
- </div>
813
- </div>
814
- </div>
815
-
816
- <div id="method-M000097" class="method-detail">
817
- <a name="M000097"></a>
818
-
819
- <div class="method-heading">
820
- <a href="#M000097" class="method-signature">
821
- <span class="method-name">uris_file</span><span class="method-args">()</span>
822
- </a>
823
- </div>
824
-
825
- <div class="method-description">
826
- <p><a class="source-toggle" href="#"
827
- onclick="toggleCode('M000097-source');return false;">[Source]</a></p>
828
- <div class="method-source-code" id="M000097-source">
829
- <pre>
830
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 205</span>
831
- 205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uris_file</span>
832
- 206: <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@working_directory</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@file</span>))
833
- 207: <span class="ruby-keyword kw">end</span>
834
- </pre>
835
- </div>
836
- </div>
837
- </div>
838
-
839
- <div id="method-M000086" class="method-detail">
840
- <a name="M000086"></a>
841
-
842
- <div class="method-heading">
843
- <a href="#M000086" class="method-signature">
844
- <span class="method-name">version</span><span class="method-args">()</span>
845
- </a>
846
- </div>
847
-
848
- <div class="method-description">
849
- <p><a class="source-toggle" href="#"
850
- onclick="toggleCode('M000086-source');return false;">[Source]</a></p>
851
- <div class="method-source-code" id="M000086-source">
852
- <pre>
853
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 142</span>
854
- 142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
855
- 143: <span class="ruby-identifier">vsn</span> = <span class="ruby-value">0</span>
856
- 144: <span class="ruby-identifier">text</span> = <span class="ruby-value str">&quot;&quot;</span>
857
- 145: <span class="ruby-constant">Open3</span>.<span class="ruby-identifier">popen3</span>(<span class="ruby-node">&quot;#{@name} --version&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span><span class="ruby-operator">|</span>
858
- 146: <span class="ruby-identifier">text</span> = <span class="ruby-identifier">stdout</span>.<span class="ruby-identifier">readlines</span>.<span class="ruby-identifier">join</span>
859
- 147: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/httperf\-([\d\.]+)\s/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">vsn</span> = <span class="ruby-identifier">v</span>[<span class="ruby-value">0</span>] }
860
- 148: <span class="ruby-keyword kw">end</span>
861
- 149: <span class="ruby-identifier">vsn</span>
862
- 150: <span class="ruby-keyword kw">end</span>
863
- </pre>
864
- </div>
865
- </div>
866
- </div>
867
-
868
- <div id="method-M000093" class="method-detail">
869
- <a name="M000093"></a>
870
-
871
- <div class="method-heading">
872
- <a href="#M000093" class="method-signature">
873
- <span class="method-name">vuser_requests</span><span class="method-args">()</span>
874
- </a>
875
- </div>
876
-
877
- <div class="method-description">
878
- <p><a class="source-toggle" href="#"
879
- onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
880
- <div class="method-source-code" id="M000093-source">
881
- <pre>
882
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 176</span>
883
- 176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">vuser_requests</span>
884
- 177: <span class="ruby-value">0</span>
885
- 178: <span class="ruby-keyword kw">end</span>
886
- </pre>
887
- </div>
888
- </div>
889
- </div>
890
-
891
- <div id="method-M000089" class="method-detail">
892
- <a name="M000089"></a>
893
-
894
- <div class="method-heading">
895
- <a href="#M000089" class="method-signature">
896
- <span class="method-name">vusers</span><span class="method-args">()</span>
897
- </a>
898
- </div>
899
-
900
- <div class="method-description">
901
- <p><a class="source-toggle" href="#"
902
- onclick="toggleCode('M000089-source');return false;">[Source]</a></p>
903
- <div class="method-source-code" id="M000089-source">
904
- <pre>
905
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 164</span>
906
- 164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">vusers</span>
907
- 165: <span class="ruby-ivar">@rate</span>
908
- 166: <span class="ruby-keyword kw">end</span>
909
- </pre>
910
- </div>
911
- </div>
912
- </div>
913
-
914
- <div id="method-M000090" class="method-detail">
915
- <a name="M000090"></a>
916
-
917
- <div class="method-heading">
918
- <a href="#M000090" class="method-signature">
919
- <span class="method-name">vusers=</span><span class="method-args">(v)</span>
920
- </a>
921
- </div>
922
-
923
- <div class="method-description">
924
- <p><a class="source-toggle" href="#"
925
- onclick="toggleCode('M000090-source');return false;">[Source]</a></p>
926
- <div class="method-source-code" id="M000090-source">
927
- <pre>
928
- <span class="ruby-comment cmt"># File lib/stella/adapter/httperf.rb, line 167</span>
929
- 167: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">vusers=</span>(<span class="ruby-identifier">v</span>)
930
- 168: <span class="ruby-value">0</span>
931
- 169: <span class="ruby-keyword kw">end</span>
932
- </pre>
933
- </div>
934
- </div>
935
- </div>
936
-
937
-
938
- </div>
939
-
940
-
941
- </div>
942
-
943
-
944
- <div id="validator-badges">
945
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
946
- </div>
947
-
948
- </body>
949
- </html>