bigbench 0.0.4 → 0.0.5

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 (77) hide show
  1. data/README.textile +29 -249
  2. data/bigbench.gemspec +1 -0
  3. data/bin/bigbench +1 -1
  4. data/dev/request_sequence.dot +235 -0
  5. data/dev/request_sequence.pdf +0 -0
  6. data/dev/sequence.rb +48 -0
  7. data/doc/Array.html +5 -5
  8. data/doc/BigBench.html +27 -60
  9. data/doc/BigBench/Benchmark.html +5 -5
  10. data/doc/BigBench/Benchmark/Benchmark.html +8 -8
  11. data/doc/BigBench/Benchmark/Looper.html +5 -5
  12. data/doc/BigBench/Bot.html +5 -5
  13. data/doc/BigBench/Configuration.html +29 -53
  14. data/doc/BigBench/Executor.html +14 -95
  15. data/doc/BigBench/Executor/Executable.html +551 -0
  16. data/doc/BigBench/Fragment.html +5 -5
  17. data/doc/BigBench/Fragment/Fragment.html +5 -5
  18. data/doc/BigBench/Output.html +7 -8
  19. data/doc/BigBench/PostProcessor.html +8 -8
  20. data/doc/BigBench/PostProcessor/Context.html +219 -0
  21. data/doc/BigBench/PostProcessor/Environment.html +5 -5
  22. data/doc/BigBench/PostProcessor/Environment/Appearings.html +5 -5
  23. data/doc/BigBench/PostProcessor/Environment/AttributeCluster.html +5 -5
  24. data/doc/BigBench/PostProcessor/Environment/BenchmarkNotFound.html +5 -5
  25. data/doc/BigBench/PostProcessor/Environment/Cluster.html +5 -5
  26. data/doc/BigBench/PostProcessor/Environment/NormalDistribution.html +5 -5
  27. data/doc/BigBench/PostProcessor/Environment/PolynomialRegression.html +5 -5
  28. data/doc/BigBench/PostProcessor/Environment/Statistics.html +5 -5
  29. data/doc/BigBench/PostProcessor/Graphs.html +5 -5
  30. data/doc/BigBench/PostProcessor/Graphs/LineGraph.html +5 -5
  31. data/doc/BigBench/PostProcessor/Graphs/PieGraph.html +5 -5
  32. data/doc/BigBench/PostProcessor/InvalidProcessor.html +6 -6
  33. data/doc/BigBench/PostProcessor/Processor.html +6 -6
  34. data/doc/BigBench/PostProcessor/Statistics.html +5 -5
  35. data/doc/BigBench/PostProcessor/Test.html +6 -6
  36. data/doc/BigBench/PostProcessor/TestPretty.html +249 -0
  37. data/doc/BigBench/Runner.html +5 -5
  38. data/doc/BigBench/Runner/NoBenchmarksDefined.html +5 -5
  39. data/doc/BigBench/Store.html +8 -8
  40. data/doc/BigBench/Tracker.html +5 -5
  41. data/doc/BigBench/Tracker/Tracker.html +5 -5
  42. data/doc/EventMachineLoop.html +5 -5
  43. data/doc/Float.html +5 -5
  44. data/doc/Gemfile.html +5 -5
  45. data/doc/Helpers.html +5 -5
  46. data/doc/Object.html +24 -5
  47. data/doc/README_rdoc.html +51 -281
  48. data/doc/Rakefile.html +5 -5
  49. data/doc/created.rid +46 -46
  50. data/doc/index.html +51 -281
  51. data/doc/js/search_index.js +1 -1
  52. data/doc/lib/bigbench/help/executor_txt.html +14 -29
  53. data/doc/table_of_contents.html +63 -68
  54. data/lib/bigbench.rb +2 -0
  55. data/lib/bigbench/benchmark.rb +3 -3
  56. data/lib/bigbench/configuration.rb +29 -68
  57. data/lib/bigbench/executor.rb +100 -130
  58. data/lib/bigbench/help/executor.txt +9 -22
  59. data/lib/bigbench/output.rb +2 -3
  60. data/lib/bigbench/post_processor.rb +16 -4
  61. data/lib/bigbench/runner.rb +0 -1
  62. data/lib/bigbench/store.rb +2 -2
  63. data/lib/bigbench/templates/test_plan.rb.erb +17 -0
  64. data/lib/bigbench/version.rb +1 -1
  65. data/spec/configure_spec.rb +7 -18
  66. data/spec/executor_spec.rb +25 -35
  67. data/spec/post_processor_spec.rb +31 -1
  68. data/spec/post_processors/environment_spec.rb +5 -3
  69. data/spec/post_processors/graphs_spec.rb +8 -3
  70. data/spec/post_processors/statistics_spec.rb +6 -1
  71. data/spec/runner_spec.rb +7 -6
  72. data/spec/store_spec.rb +4 -3
  73. data/spec/tests/local.rb +5 -5
  74. data/spec/tests/with_post_processor.rb +5 -5
  75. data/spec/tracker_spec.rb +12 -8
  76. metadata +48 -31
  77. data/dev/test.rb +0 -13
Binary file
@@ -0,0 +1,48 @@
1
+ require 'graph'
2
+
3
+ USER = 5
4
+ BENCHMARKS = ['serving website', 'creating a post']
5
+
6
+ digraph do
7
+ node "EventMachine.run"
8
+
9
+ BENCHMARKS.each do |benchmark|
10
+
11
+ subgraph "benchmark_#{benchmark}" do
12
+ label "benchmark '#{benchmark}'"
13
+ node "benchmark '#{benchmark}'"
14
+
15
+ USER.times do |user|
16
+ subgraph "#{benchmark}_#{user}_looper" do
17
+ label "looper user #{user}"
18
+ node "#{benchmark}_#{user}", "looper user ##{user}"
19
+
20
+ requests = []
21
+ subgraph "requests_#{user}" do
22
+ label "requests #{user}"
23
+ node_attribs << filled << lightgray
24
+
25
+
26
+ 4.times do |request|
27
+ node "#{benchmark}_#{user}_#{request}", "Fragment Request #{request}"
28
+ box << node("#{benchmark}_#{user}_#{request}")
29
+ requests << "#{benchmark}_#{user}_#{request}"
30
+ end
31
+
32
+ edge *requests
33
+ edge requests.last, requests.first
34
+ end
35
+ edge "#{benchmark}_#{user}", requests.first
36
+ end
37
+
38
+ edge "benchmark '#{benchmark}'", "#{benchmark}_#{user}"
39
+ end
40
+ end
41
+
42
+ edge "EventMachine.run", "benchmark '#{benchmark}'"
43
+ end
44
+
45
+ save "request_sequence", "pdf"
46
+ end
47
+
48
+ `open request_sequence.pdf`
@@ -113,13 +113,9 @@
113
113
 
114
114
  <li><a href="./BigBench/Configuration.html">BigBench::Configuration</a>
115
115
 
116
- <li><a href="./BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
117
-
118
- <li><a href="./BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
119
-
120
116
  <li><a href="./BigBench/Executor.html">BigBench::Executor</a>
121
117
 
122
- <li><a href="./BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
118
+ <li><a href="./BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
123
119
 
124
120
  <li><a href="./BigBench/Fragment.html">BigBench::Fragment</a>
125
121
 
@@ -129,6 +125,8 @@
129
125
 
130
126
  <li><a href="./BigBench/PostProcessor.html">BigBench::PostProcessor</a>
131
127
 
128
+ <li><a href="./BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
129
+
132
130
  <li><a href="./BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
133
131
 
134
132
  <li><a href="./BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -159,6 +157,8 @@
159
157
 
160
158
  <li><a href="./BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
161
159
 
160
+ <li><a href="./BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
161
+
162
162
  <li><a href="./BigBench/Runner.html">BigBench::Runner</a>
163
163
 
164
164
  <li><a href="./BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -82,11 +82,9 @@
82
82
 
83
83
  <li><a href="#method-c-benchmarks">::benchmarks</a>
84
84
 
85
- <li><a href="#method-c-check_config-21">::check_config!</a>
86
-
87
85
  <li><a href="#method-c-config">::config</a>
88
86
 
89
- <li><a href="#method-c-configure-3D">::configure=</a>
87
+ <li><a href="#method-c-configure">::configure</a>
90
88
 
91
89
  <li><a href="#method-c-duration">::duration</a>
92
90
 
@@ -145,13 +143,9 @@
145
143
 
146
144
  <li><a href="./BigBench/Configuration.html">BigBench::Configuration</a>
147
145
 
148
- <li><a href="./BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
149
-
150
- <li><a href="./BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
151
-
152
146
  <li><a href="./BigBench/Executor.html">BigBench::Executor</a>
153
147
 
154
- <li><a href="./BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
148
+ <li><a href="./BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
155
149
 
156
150
  <li><a href="./BigBench/Fragment.html">BigBench::Fragment</a>
157
151
 
@@ -161,6 +155,8 @@
161
155
 
162
156
  <li><a href="./BigBench/PostProcessor.html">BigBench::PostProcessor</a>
163
157
 
158
+ <li><a href="./BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
159
+
164
160
  <li><a href="./BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
165
161
 
166
162
  <li><a href="./BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -191,6 +187,8 @@
191
187
 
192
188
  <li><a href="./BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
193
189
 
190
+ <li><a href="./BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
191
+
194
192
  <li><a href="./BigBench/Runner.html">BigBench::Runner</a>
195
193
 
196
194
  <li><a href="./BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -328,38 +326,6 @@
328
326
  </div><!-- benchmarks-method -->
329
327
 
330
328
 
331
- <div id="method-c-check_config-21" class="method-detail ">
332
-
333
- <div class="method-heading">
334
- <span class="method-name">check_config!</span><span
335
- class="method-args">()</span>
336
- <span class="method-click-advice">click to toggle source</span>
337
- </div>
338
-
339
-
340
- <div class="method-description">
341
-
342
- <p>Checks if all necessary config options are set and raises an
343
- <code>InvalidOptions</code> exception if not</p>
344
-
345
-
346
-
347
- <div class="method-source-code" id="check_config-21-source">
348
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 111</span>
349
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">check_config!</span>
350
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Configuration</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidOptions</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">valid?</span>
351
- <span class="ruby-keyword">true</span>
352
- <span class="ruby-keyword">end</span></pre>
353
- </div><!-- check_config-21-source -->
354
-
355
- </div>
356
-
357
-
358
-
359
-
360
- </div><!-- check_config-21-method -->
361
-
362
-
363
329
  <div id="method-c-config" class="method-detail ">
364
330
 
365
331
  <div class="method-heading">
@@ -380,7 +346,7 @@
380
346
 
381
347
 
382
348
  <div class="method-source-code" id="config-source">
383
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 106</span>
349
+ <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 73</span>
384
350
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">config</span>
385
351
  <span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">config</span>
386
352
  <span class="ruby-keyword">end</span></pre>
@@ -394,11 +360,11 @@
394
360
  </div><!-- config-method -->
395
361
 
396
362
 
397
- <div id="method-c-configure-3D" class="method-detail ">
363
+ <div id="method-c-configure" class="method-detail ">
398
364
 
399
365
  <div class="method-heading">
400
- <span class="method-name">configure=</span><span
401
- class="method-args">(config)</span>
366
+ <span class="method-name">configure</span><span
367
+ class="method-args">() { |config| ... }</span>
402
368
  <span class="method-click-advice">click to toggle source</span>
403
369
  </div>
404
370
 
@@ -407,12 +373,12 @@
407
373
 
408
374
  <p>Configure the benchmark by supplying a hash of options like this:</p>
409
375
 
410
- <pre class="ruby"><span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">configure</span> = {
411
- :<span class="ruby-identifier">duration</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>.<span class="ruby-identifier">seconds</span>,
412
- :<span class="ruby-identifier">output</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;test.ljson&quot;</span>,
413
- :<span class="ruby-identifier">users</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">20</span>,
414
- :<span class="ruby-identifier">basic_auth</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-string">'username'</span>, <span class="ruby-string">'secret'</span>]
415
- }
376
+ <pre class="ruby"><span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">configure</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
377
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">duration</span> = <span class="ruby-value">10</span>.<span class="ruby-identifier">seconds</span>,
378
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">output</span> = <span class="ruby-string">&quot;test.ljson&quot;</span>,
379
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">users</span> = <span class="ruby-value">20</span>,
380
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">basic_auth</span> = [<span class="ruby-string">'username'</span>, <span class="ruby-string">'secret'</span>]
381
+ <span class="ruby-keyword">end</span>
416
382
  </pre>
417
383
 
418
384
  <p>Those values can then be set and retreived with
@@ -420,19 +386,21 @@
420
386
 
421
387
 
422
388
 
423
- <div class="method-source-code" id="configure-3D-source">
424
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 97</span>
425
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">configure=</span>(<span class="ruby-identifier">config</span>)
426
- <span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">configure</span>=(<span class="ruby-identifier">config</span>)
389
+ <div class="method-source-code" id="configure-source">
390
+ <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 62</span>
391
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">configure</span>
392
+ <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;No block to configure given&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">block_given?</span>
393
+ <span class="ruby-keyword">yield</span>(<span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">config</span>)
394
+ <span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">config</span>
427
395
  <span class="ruby-keyword">end</span></pre>
428
- </div><!-- configure-3D-source -->
396
+ </div><!-- configure-source -->
429
397
 
430
398
  </div>
431
399
 
432
400
 
433
401
 
434
402
 
435
- </div><!-- configure-3D-method -->
403
+ </div><!-- configure-method -->
436
404
 
437
405
 
438
406
  <div id="method-c-duration" class="method-detail ">
@@ -494,7 +462,6 @@ end'</span>
494
462
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">load_test!</span>(<span class="ruby-identifier">test</span>)
495
463
  <span class="ruby-constant">BigBench</span><span class="ruby-operator">::</span><span class="ruby-constant">Benchmark</span>.<span class="ruby-identifier">reset!</span>
496
464
  <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">test</span>)
497
- <span class="ruby-identifier">check_config!</span>
498
465
  <span class="ruby-constant">BigBench</span><span class="ruby-operator">::</span><span class="ruby-constant">Output</span>.<span class="ruby-identifier">loaded_tests</span>
499
466
  <span class="ruby-keyword">end</span></pre>
500
467
  </div><!-- load_test-21-source -->
@@ -576,7 +543,7 @@ returns a hash with a single tracking of the following form:</p>
576
543
 
577
544
 
578
545
  <div class="method-source-code" id="post_process-source">
579
- <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 176</span>
546
+ <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 188</span>
580
547
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">post_process</span> <span class="ruby-identifier">processor</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">options</span> = {}
581
548
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">PostProcessor</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidProcessor</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">processor</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">block_given?</span>
582
549
  <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">PostProcessor</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">processor</span>, <span class="ruby-identifier">options</span>, &amp;<span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span>) <span class="ruby-operator">:</span> <span class="ruby-constant">PostProcessor</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">processor</span>, <span class="ruby-identifier">options</span>)
@@ -607,7 +574,7 @@ returns a hash with a single tracking of the following form:</p>
607
574
 
608
575
 
609
576
  <div class="method-source-code" id="post_processors-source">
610
- <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 182</span>
577
+ <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 194</span>
611
578
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">post_processors</span>
612
579
  <span class="ruby-constant">PostProcessor</span>.<span class="ruby-identifier">all</span>
613
580
  <span class="ruby-keyword">end</span></pre>
@@ -669,7 +636,7 @@ returns a hash with a single tracking of the following form:</p>
669
636
 
670
637
 
671
638
  <div class="method-source-code" id="run_post_processors-21-source">
672
- <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 187</span>
639
+ <pre><span class="ruby-comment"># File lib/bigbench/post_processor.rb, line 199</span>
673
640
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">run_post_processors!</span>
674
641
  <span class="ruby-constant">PostProcessor</span>.<span class="ruby-identifier">run!</span>
675
642
  <span class="ruby-keyword">end</span></pre>
@@ -112,13 +112,9 @@
112
112
 
113
113
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
114
114
 
115
- <li><a href="../BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
116
-
117
- <li><a href="../BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
118
-
119
115
  <li><a href="../BigBench/Executor.html">BigBench::Executor</a>
120
116
 
121
- <li><a href="../BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
117
+ <li><a href="../BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
122
118
 
123
119
  <li><a href="../BigBench/Fragment.html">BigBench::Fragment</a>
124
120
 
@@ -128,6 +124,8 @@
128
124
 
129
125
  <li><a href="../BigBench/PostProcessor.html">BigBench::PostProcessor</a>
130
126
 
127
+ <li><a href="../BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
128
+
131
129
  <li><a href="../BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
132
130
 
133
131
  <li><a href="../BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -158,6 +156,8 @@
158
156
 
159
157
  <li><a href="../BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
160
158
 
159
+ <li><a href="../BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
160
+
161
161
  <li><a href="../BigBench/Runner.html">BigBench::Runner</a>
162
162
 
163
163
  <li><a href="../BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -115,13 +115,9 @@
115
115
 
116
116
  <li><a href="../../BigBench/Configuration.html">BigBench::Configuration</a>
117
117
 
118
- <li><a href="../../BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
119
-
120
- <li><a href="../../BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
121
-
122
118
  <li><a href="../../BigBench/Executor.html">BigBench::Executor</a>
123
119
 
124
- <li><a href="../../BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
120
+ <li><a href="../../BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
125
121
 
126
122
  <li><a href="../../BigBench/Fragment.html">BigBench::Fragment</a>
127
123
 
@@ -131,6 +127,8 @@
131
127
 
132
128
  <li><a href="../../BigBench/PostProcessor.html">BigBench::PostProcessor</a>
133
129
 
130
+ <li><a href="../../BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
131
+
134
132
  <li><a href="../../BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
135
133
 
136
134
  <li><a href="../../BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -161,6 +159,8 @@
161
159
 
162
160
  <li><a href="../../BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
163
161
 
162
+ <li><a href="../../BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
163
+
164
164
  <li><a href="../../BigBench/Runner.html">BigBench::Runner</a>
165
165
 
166
166
  <li><a href="../../BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -355,9 +355,9 @@
355
355
  <pre><span class="ruby-comment"># File lib/bigbench/benchmark.rb, line 36</span>
356
356
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">options</span>, &amp;<span class="ruby-identifier">block</span>)
357
357
  <span class="ruby-ivar">@name</span>, <span class="ruby-ivar">@uri</span>, <span class="ruby-ivar">@tracker</span>, <span class="ruby-ivar">@is_running</span>, <span class="ruby-ivar">@runs</span> = <span class="ruby-identifier">name</span>, <span class="ruby-constant">URI</span>(<span class="ruby-identifier">url</span>), <span class="ruby-constant">Tracker</span><span class="ruby-operator">::</span><span class="ruby-constant">Tracker</span>.<span class="ruby-identifier">new</span>, <span class="ruby-keyword">false</span>, <span class="ruby-value">0</span>
358
- <span class="ruby-ivar">@users</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:users</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">users</span>
359
- <span class="ruby-ivar">@duration</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:duration</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">duration</span>
360
- <span class="ruby-ivar">@fragments</span> = <span class="ruby-constant">BigBench</span><span class="ruby-operator">::</span><span class="ruby-constant">Fragment</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword">self</span>, &amp;<span class="ruby-identifier">block</span>)
358
+ <span class="ruby-ivar">@users</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:users</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">users</span>
359
+ <span class="ruby-ivar">@duration</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:duration</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">duration</span>
360
+ <span class="ruby-ivar">@fragments</span> = <span class="ruby-constant">BigBench</span><span class="ruby-operator">::</span><span class="ruby-constant">Fragment</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword">self</span>, &amp;<span class="ruby-identifier">block</span>)
361
361
  <span class="ruby-keyword">end</span></pre>
362
362
  </div><!-- new-source -->
363
363
 
@@ -115,13 +115,9 @@
115
115
 
116
116
  <li><a href="../../BigBench/Configuration.html">BigBench::Configuration</a>
117
117
 
118
- <li><a href="../../BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
119
-
120
- <li><a href="../../BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
121
-
122
118
  <li><a href="../../BigBench/Executor.html">BigBench::Executor</a>
123
119
 
124
- <li><a href="../../BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
120
+ <li><a href="../../BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
125
121
 
126
122
  <li><a href="../../BigBench/Fragment.html">BigBench::Fragment</a>
127
123
 
@@ -131,6 +127,8 @@
131
127
 
132
128
  <li><a href="../../BigBench/PostProcessor.html">BigBench::PostProcessor</a>
133
129
 
130
+ <li><a href="../../BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
131
+
134
132
  <li><a href="../../BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
135
133
 
136
134
  <li><a href="../../BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -161,6 +159,8 @@
161
159
 
162
160
  <li><a href="../../BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
163
161
 
162
+ <li><a href="../../BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
163
+
164
164
  <li><a href="../../BigBench/Runner.html">BigBench::Runner</a>
165
165
 
166
166
  <li><a href="../../BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -105,13 +105,9 @@
105
105
 
106
106
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
107
107
 
108
- <li><a href="../BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
109
-
110
- <li><a href="../BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
111
-
112
108
  <li><a href="../BigBench/Executor.html">BigBench::Executor</a>
113
109
 
114
- <li><a href="../BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
110
+ <li><a href="../BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
115
111
 
116
112
  <li><a href="../BigBench/Fragment.html">BigBench::Fragment</a>
117
113
 
@@ -121,6 +117,8 @@
121
117
 
122
118
  <li><a href="../BigBench/PostProcessor.html">BigBench::PostProcessor</a>
123
119
 
120
+ <li><a href="../BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
121
+
124
122
  <li><a href="../BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
125
123
 
126
124
  <li><a href="../BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -151,6 +149,8 @@
151
149
 
152
150
  <li><a href="../BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
153
151
 
152
+ <li><a href="../BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
153
+
154
154
  <li><a href="../BigBench/Runner.html">BigBench::Runner</a>
155
155
 
156
156
  <li><a href="../BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -66,8 +66,6 @@
66
66
 
67
67
  <li><a href="#method-c-config">::config</a>
68
68
 
69
- <li><a href="#method-c-configure-3D">::configure=</a>
70
-
71
69
  <li><a href="#method-c-reset-21">::reset!</a>
72
70
 
73
71
  </ul>
@@ -109,13 +107,9 @@
109
107
 
110
108
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
111
109
 
112
- <li><a href="../BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
113
-
114
- <li><a href="../BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
115
-
116
110
  <li><a href="../BigBench/Executor.html">BigBench::Executor</a>
117
111
 
118
- <li><a href="../BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
112
+ <li><a href="../BigBench/Executor/Executable.html">BigBench::Executor::Executable</a>
119
113
 
120
114
  <li><a href="../BigBench/Fragment.html">BigBench::Fragment</a>
121
115
 
@@ -125,6 +119,8 @@
125
119
 
126
120
  <li><a href="../BigBench/PostProcessor.html">BigBench::PostProcessor</a>
127
121
 
122
+ <li><a href="../BigBench/PostProcessor/Context.html">BigBench::PostProcessor::Context</a>
123
+
128
124
  <li><a href="../BigBench/PostProcessor/Environment.html">BigBench::PostProcessor::Environment</a>
129
125
 
130
126
  <li><a href="../BigBench/PostProcessor/Environment/Appearings.html">BigBench::PostProcessor::Environment::Appearings</a>
@@ -155,6 +151,8 @@
155
151
 
156
152
  <li><a href="../BigBench/PostProcessor/Test.html">BigBench::PostProcessor::Test</a>
157
153
 
154
+ <li><a href="../BigBench/PostProcessor/TestPretty.html">BigBench::PostProcessor::TestPretty</a>
155
+
158
156
  <li><a href="../BigBench/Runner.html">BigBench::Runner</a>
159
157
 
160
158
  <li><a href="../BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
@@ -188,12 +186,12 @@
188
186
 
189
187
  <p>The configuration is configured in the test reciepts and looks like this:</p>
190
188
 
191
- <pre class="ruby"><span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">configure</span> = {
192
- :<span class="ruby-identifier">duration</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">10</span>.<span class="ruby-identifier">seconds</span>,
193
- :<span class="ruby-identifier">output</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;test.ljson&quot;</span>,
194
- :<span class="ruby-identifier">users</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">20</span>,
195
- :<span class="ruby-identifier">basic_auth</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-string">'username'</span>, <span class="ruby-string">'secret'</span>]
196
- }
189
+ <pre class="ruby"><span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">configure</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">config</span><span class="ruby-operator">|</span>
190
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">duration</span> = <span class="ruby-value">10</span>.<span class="ruby-identifier">seconds</span>,
191
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">output</span> = <span class="ruby-string">&quot;test.ljson&quot;</span>,
192
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">users</span> = <span class="ruby-value">20</span>,
193
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">basic_auth</span> = [<span class="ruby-string">'username'</span>, <span class="ruby-string">'secret'</span>]
194
+ <span class="ruby-keyword">end</span>
197
195
  </pre>
198
196
 
199
197
  <p>Single values can be set and retrieved like this:</p>
@@ -238,6 +236,19 @@ per fragment in every benchmark.</p>
238
236
 
239
237
 
240
238
 
239
+ <!-- Constants -->
240
+ <section id="constants-list" class="section">
241
+ <h3 class="section-header">Constants</h3>
242
+ <dl>
243
+
244
+ <dt id="DEFAULTS">DEFAULTS
245
+
246
+ <dd class="description">
247
+
248
+
249
+ </dl>
250
+ </section>
251
+
241
252
 
242
253
 
243
254
 
@@ -258,14 +269,14 @@ per fragment in every benchmark.</p>
258
269
 
259
270
  <div class="method-description">
260
271
 
261
- <p>Returns the current config object</p>
272
+ <p>Returns tor creates the config object</p>
262
273
 
263
274
 
264
275
 
265
276
  <div class="method-source-code" id="config-source">
266
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 76</span>
277
+ <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 46</span>
267
278
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">config</span>
268
- <span class="ruby-ivar">@config</span>
279
+ <span class="ruby-identifier">@@config</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">DEFAULTS</span>)
269
280
  <span class="ruby-keyword">end</span></pre>
270
281
  </div><!-- config-source -->
271
282
 
@@ -277,41 +288,6 @@ per fragment in every benchmark.</p>
277
288
  </div><!-- config-method -->
278
289
 
279
290
 
280
- <div id="method-c-configure-3D" class="method-detail ">
281
-
282
- <div class="method-heading">
283
- <span class="method-name">configure=</span><span
284
- class="method-args">(config)</span>
285
- <span class="method-click-advice">click to toggle source</span>
286
- </div>
287
-
288
-
289
- <div class="method-description">
290
-
291
- <p>Configures the benchmarks with a hash. If the config methods are not
292
- present yet, they are added to the config object</p>
293
-
294
-
295
-
296
- <div class="method-source-code" id="configure-3D-source">
297
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 67</span>
298
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">configure=</span>(<span class="ruby-identifier">config</span>)
299
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Config must be a Hash&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
300
- <span class="ruby-identifier">config</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">option</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
301
- <span class="ruby-ivar">@config</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">add_option</span>(<span class="ruby-identifier">option</span>)
302
- <span class="ruby-ivar">@config</span>.<span class="ruby-identifier">send</span> <span class="ruby-node">&quot;#{option}=&quot;</span>, <span class="ruby-identifier">value</span>
303
- }
304
- <span class="ruby-keyword">end</span></pre>
305
- </div><!-- configure-3D-source -->
306
-
307
- </div>
308
-
309
-
310
-
311
-
312
- </div><!-- configure-3D-method -->
313
-
314
-
315
291
  <div id="method-c-reset-21" class="method-detail ">
316
292
 
317
293
  <div class="method-heading">
@@ -328,9 +304,9 @@ present yet, they are added to the config object</p>
328
304
 
329
305
 
330
306
  <div class="method-source-code" id="reset-21-source">
331
- <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 81</span>
307
+ <pre><span class="ruby-comment"># File lib/bigbench/configuration.rb, line 39</span>
332
308
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">reset!</span>
333
- <span class="ruby-ivar">@config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
309
+ <span class="ruby-identifier">@@config</span> = <span class="ruby-keyword">nil</span>
334
310
  <span class="ruby-keyword">end</span></pre>
335
311
  </div><!-- reset-21-source -->
336
312