bombard 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Bombard
4
- VERSION = '0.0.4'
4
+ VERSION = '0.0.5'
5
5
  end
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, :failed_requests
26
+ alias_method :failed, :failed_requests
27
27
  alias_method :shortest, :shortest_request
28
- alias_method :longest, :longest_request
28
+ alias_method :longest, :longest_request
29
29
  alias_method :response, :response_time
30
30
 
31
31
  def initialize(results)
32
- @transactions = Integer TRANSACTIONS.match(results)[1]
33
- @availability = Float AVAILABILITY.match(results)[1]
34
- @elapsed_time = Float ELAPSED_TIME.match(results)[1]
35
- @data_transferred = Float DATA_TRANSFERRED.match(results)[1]
36
- @response_time = Float RESPONSE_TIME.match(results)[1]
37
- @transaction_rate = Float TRANSACTION_RATE.match(results)[1]
38
- @throughput = Float THROUGHPUT.match(results)[1]
39
- @concurrency = Float CONCURRENCY.match(results)[1]
40
- @failed_requests = Integer FAILED_REQUESTS.match(results)[1]
41
- @longest_request = Float LONGEST_REQUEST.match(results)[1]
42
- @shortest_request = Float SHORTEST_REQUEST.match(results)[1]
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')) ? abort("A Siege error cccurred:\n#{results}") : raise(e)
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} -f#{@url_file.name} 2>&1`
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
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 00:00:00.000000000 Z
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: