bombard 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.
- data/lib/bombard/publisher/jenkins_plot.rb +1 -1
- data/lib/bombard/version.rb +1 -1
- data/lib/siege/results.rb +23 -14
- data/lib/siege.rb +12 -2
- metadata +8 -3
@@ -7,7 +7,7 @@ module Bombard
|
|
7
7
|
site, asset = @options.split(',')
|
8
8
|
prefix = site + '_' + asset + '_'
|
9
9
|
|
10
|
-
%w[response longest shortest failed].each do |p|
|
10
|
+
%w[response longest shortest failed transaction_rate concurrency data_transferred].each do |p|
|
11
11
|
prop = 'YVALUE=' + @results.send(p).to_s
|
12
12
|
file = File.new(prefix + p + '.properties', 'w')
|
13
13
|
file.puts prop
|
data/lib/bombard/version.rb
CHANGED
data/lib/siege/results.rb
CHANGED
@@ -23,26 +23,26 @@ class Siege
|
|
23
23
|
:response_time, :transaction_rate, :throughput, :concurrency,
|
24
24
|
:failed_requests, :longest_request, :shortest_request
|
25
25
|
|
26
|
-
alias_method :failed,
|
26
|
+
alias_method :failed, :failed_requests
|
27
27
|
alias_method :shortest, :shortest_request
|
28
|
-
alias_method :longest,
|
28
|
+
alias_method :longest, :longest_request
|
29
29
|
alias_method :response, :response_time
|
30
30
|
|
31
31
|
def initialize(results)
|
32
|
-
@transactions = Integer
|
33
|
-
@availability = Float
|
34
|
-
@elapsed_time = Float
|
35
|
-
@data_transferred = Float
|
36
|
-
@response_time = Float
|
37
|
-
@transaction_rate = Float
|
38
|
-
@throughput = Float
|
39
|
-
@concurrency = Float
|
40
|
-
@failed_requests = Integer
|
41
|
-
@longest_request = Float
|
42
|
-
@shortest_request = Float
|
32
|
+
@transactions = Integer parse(:transactions)
|
33
|
+
@availability = Float parse(:availability)
|
34
|
+
@elapsed_time = Float parse(:elapsed_time)
|
35
|
+
@data_transferred = Float parse(:data_transferred)
|
36
|
+
@response_time = Float parse(:response_time)
|
37
|
+
@transaction_rate = Float parse(:transaction_rate)
|
38
|
+
@throughput = Float parse(:throughput)
|
39
|
+
@concurrency = Float parse(:concurrency)
|
40
|
+
@failed_requests = Integer parse(:failed_requests)
|
41
|
+
@longest_request = Float parse(:longest_request)
|
42
|
+
@shortest_request = Float parse(:shortest_request)
|
43
43
|
@results = results
|
44
44
|
rescue ArgumentError => e
|
45
|
-
(e.message.include?('invalid value')) ?
|
45
|
+
(e.message.include?('invalid value')) ? dump_results : raise(e)
|
46
46
|
end
|
47
47
|
|
48
48
|
def[](key)
|
@@ -68,5 +68,14 @@ class Siege
|
|
68
68
|
shortest_request: @shortest_request
|
69
69
|
}
|
70
70
|
end
|
71
|
+
|
72
|
+
def parse(const)
|
73
|
+
dump_results unless match = const_get(const).match(results)
|
74
|
+
match[1]
|
75
|
+
end
|
76
|
+
|
77
|
+
def dump_results
|
78
|
+
abort "A Siege error occurred:\n#@results"
|
79
|
+
end
|
71
80
|
end
|
72
81
|
end
|
data/lib/siege.rb
CHANGED
@@ -31,13 +31,23 @@ class Siege
|
|
31
31
|
|
32
32
|
def executor
|
33
33
|
puts "Sieging with:\n\tsiege #{cli_opts} -f#{@url_file.name} 2>&1"
|
34
|
-
`siege #{cli_opts}
|
34
|
+
`siege #{cli_opts}`
|
35
|
+
end
|
36
|
+
|
37
|
+
def url_opt
|
38
|
+
' -f' + @url_file.name
|
39
|
+
end
|
40
|
+
|
41
|
+
def stdout_to_stdin
|
42
|
+
' 2>&1'
|
35
43
|
end
|
36
44
|
|
37
45
|
def cli_opts
|
38
46
|
@conf.flat_map { |opt, val| OPTIONS[opt] + val.to_s }.
|
39
47
|
join(' ').
|
40
48
|
gsub(/(\-\w) true/, '\1').
|
41
|
-
gsub(/\-\w false/, '')
|
49
|
+
gsub(/\-\w false/, '') +
|
50
|
+
url_opt +
|
51
|
+
stdout_to_stdin
|
42
52
|
end
|
43
53
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bombard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -170,12 +170,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
170
170
|
- - ! '>='
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: '0'
|
173
|
+
segments:
|
174
|
+
- 0
|
175
|
+
hash: -1593328606361558836
|
173
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
177
|
none: false
|
175
178
|
requirements:
|
176
179
|
- - ! '>='
|
177
180
|
- !ruby/object:Gem::Version
|
178
181
|
version: '0'
|
182
|
+
segments:
|
183
|
+
- 0
|
184
|
+
hash: -1593328606361558836
|
179
185
|
requirements: []
|
180
186
|
rubyforge_project:
|
181
187
|
rubygems_version: 1.8.23
|
@@ -183,4 +189,3 @@ signing_key:
|
|
183
189
|
specification_version: 3
|
184
190
|
summary: Bombard is a(nother) Siege wrapper for Ruby thats extensible.
|
185
191
|
test_files: []
|
186
|
-
has_rdoc:
|