stella 0.7.2.002 → 0.7.2.003
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/CHANGES.txt +5 -0
- data/bin/stella +1 -0
- data/lib/stella/cli.rb +1 -1
- data/lib/stella/client.rb +1 -1
- data/lib/stella/engine.rb +1 -1
- data/lib/stella/engine/load_queue.rb +9 -2
- data/lib/stella/engine/loadbase.rb +7 -7
- data/lib/stella/version.rb +1 -1
- data/stella.gemspec +2 -2
- metadata +2 -2
data/CHANGES.txt
CHANGED
data/bin/stella
CHANGED
@@ -100,6 +100,7 @@ class Stella::CLI::Definition
|
|
100
100
|
option :W, :nowait, "Ignore wait times"
|
101
101
|
option :w, :wait, Float, "Wait time (in seconds) between client requests (ignored if testplan supplied)"
|
102
102
|
option :p, :testplan, String, "Path to testplan"
|
103
|
+
option :a, :arrival, Float, "Arrival rate (new clients per second)"
|
103
104
|
option :'disable-templates', "Disable template parsing"
|
104
105
|
command :generate => Stella::CLI
|
105
106
|
|
data/lib/stella/cli.rb
CHANGED
@@ -26,7 +26,7 @@ class Stella::CLI < Drydock::Command
|
|
26
26
|
def generate
|
27
27
|
opts = {}
|
28
28
|
opts[:hosts] = @hosts
|
29
|
-
[:nowait, :clients, :repetitions, :duration, :'disable-templates'].each do |opt|
|
29
|
+
[:nowait, :clients, :repetitions, :duration, :arrival, :'disable-templates'].each do |opt|
|
30
30
|
opts[opt] = @option.send(opt) unless @option.send(opt).nil?
|
31
31
|
end
|
32
32
|
|
data/lib/stella/client.rb
CHANGED
@@ -58,7 +58,7 @@ module Stella
|
|
58
58
|
user, pass = http_auth.user, http_auth.pass
|
59
59
|
user = container.instance_eval &user if Proc === user
|
60
60
|
pass = container.instance_eval &pass if Proc === pass
|
61
|
-
Stella.
|
61
|
+
Stella.li3 " AUTH (#{http_auth.kind}) #{domain} (#{user}/#{pass})"
|
62
62
|
http_client.set_auth(domain, user, pass)
|
63
63
|
end
|
64
64
|
|
data/lib/stella/engine.rb
CHANGED
@@ -37,7 +37,7 @@ module Stella::Engine
|
|
37
37
|
opts[:clients] = plan.usecases.size if opts[:clients] < plan.usecases.size
|
38
38
|
|
39
39
|
if opts[:clients] > @@client_limit
|
40
|
-
Stella.
|
40
|
+
Stella.li2 "Client limit is #{@@client_limit}"
|
41
41
|
opts[:clients] = @@client_limit
|
42
42
|
end
|
43
43
|
|
@@ -5,7 +5,7 @@ module Stella::Engine
|
|
5
5
|
extend Stella::Engine::Load
|
6
6
|
extend self
|
7
7
|
ROTATE_TIMELINE = 15
|
8
|
-
def execute_test_plan(packages, reps=1,duration=0)
|
8
|
+
def execute_test_plan(packages, reps=1,duration=0,arrival=nil)
|
9
9
|
time_started = Time.now
|
10
10
|
|
11
11
|
pqueue = Queue.new
|
@@ -38,7 +38,7 @@ module Stella::Engine
|
|
38
38
|
#Stella.li [package.client.gibbler.shorter, package.usecase.gibbler.shorter, rep].inspect
|
39
39
|
Stella::Engine::Load.rescue(c.digest_cache) {
|
40
40
|
break if Stella.abort?
|
41
|
-
print '.' if Stella.loglev ==
|
41
|
+
print '.' if Stella.loglev == 1
|
42
42
|
stats = c.execute uc
|
43
43
|
}
|
44
44
|
Benelux.remove_thread_tags :rep
|
@@ -69,6 +69,13 @@ module Stella::Engine
|
|
69
69
|
|
70
70
|
pqueue << package # return the package to the queue
|
71
71
|
end
|
72
|
+
|
73
|
+
unless arrival.nil?
|
74
|
+
# Create 1 second / users per second
|
75
|
+
args = [1/arrival, @threads.size, packages.size]
|
76
|
+
Stella.li2 $/, "======== ARRIVAL (%s): %s of %s" % args
|
77
|
+
sleep 1/arrival
|
78
|
+
end
|
72
79
|
}
|
73
80
|
|
74
81
|
data_dumper = Thread.new do
|
@@ -15,7 +15,7 @@ module Stella::Engine
|
|
15
15
|
opts = process_options! plan, opts
|
16
16
|
@threads, @max_clients, @real_reps = [], 0, 0
|
17
17
|
|
18
|
-
if Stella.loglev >
|
18
|
+
if Stella.loglev > 2
|
19
19
|
Load.timers += [:query, :connect, :socket_gets_first_byte, :get_body]
|
20
20
|
Load.counts = [:request_header_size, :request_content_size]
|
21
21
|
Load.counts += [:response_headers_size, :response_content_size]
|
@@ -39,7 +39,7 @@ module Stella::Engine
|
|
39
39
|
bt = Benelux.timeline
|
40
40
|
|
41
41
|
begin
|
42
|
-
execute_test_plan packages, opts[:repetitions], opts[:duration]
|
42
|
+
execute_test_plan packages, opts[:repetitions], opts[:duration], opts[:arrival]
|
43
43
|
rescue Interrupt
|
44
44
|
Stella.li "Stopping test...", $/
|
45
45
|
Stella.abort!
|
@@ -210,7 +210,7 @@ module Stella::Engine
|
|
210
210
|
success = global_stats.n - failed.n
|
211
211
|
Stella.li ' %-29s %d (req/s: %.2f)' % [:success, success, success/test_time]
|
212
212
|
statusi.each do |pair|
|
213
|
-
Stella.
|
213
|
+
Stella.li3 ' %-28s %s: %d' % ['', *pair]
|
214
214
|
end
|
215
215
|
Stella.li ' %-29s %d' % [:failed, failed.n]
|
216
216
|
|
@@ -236,7 +236,7 @@ module Stella::Engine
|
|
236
236
|
def update_receive_response(client_id, usecase, uri, req, params, counter, container)
|
237
237
|
desc = "#{usecase.desc} > #{req.desc}"
|
238
238
|
args = [client_id.shorter, container.status, req.http_method, uri, params.inspect]
|
239
|
-
Stella.
|
239
|
+
Stella.li2 ' Client-%s %3d %-6s %s %s' % args
|
240
240
|
Stella.ld ' Client-%s %3d %s' % [client_id.shorter, container.status, container.body]
|
241
241
|
end
|
242
242
|
|
@@ -258,15 +258,15 @@ module Stella::Engine
|
|
258
258
|
end
|
259
259
|
|
260
260
|
def update_quit_usecase client_id, msg
|
261
|
-
Stella.
|
261
|
+
Stella.li2 " Client-%s QUIT %s" % [client_id.shorter, msg]
|
262
262
|
end
|
263
263
|
|
264
264
|
def update_fail_request client_id, msg
|
265
|
-
Stella.
|
265
|
+
Stella.li2 " Client-%s FAILED %s" % [client_id.shorter, msg]
|
266
266
|
end
|
267
267
|
|
268
268
|
def update_repeat_request client_id, counter, total
|
269
|
-
Stella.
|
269
|
+
Stella.li2 " Client-%s REPEAT %d of %d" % [client_id.shorter, counter, total]
|
270
270
|
end
|
271
271
|
|
272
272
|
def self.rescue(client_id, &blk)
|
data/lib/stella/version.rb
CHANGED
data/stella.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@spec = Gem::Specification.new do |s|
|
2
2
|
s.name = "stella"
|
3
3
|
s.rubyforge_project = 'stella'
|
4
|
-
s.version = "0.7.2.
|
4
|
+
s.version = "0.7.2.003"
|
5
5
|
s.summary = "Blame Stella for breaking your web applications."
|
6
6
|
s.description = s.summary
|
7
7
|
s.author = "Delano Mandelbaum"
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
s.executables = %w[stella]
|
17
17
|
|
18
|
-
s.add_dependency 'benelux', '>= 0.5.
|
18
|
+
s.add_dependency 'benelux', '>= 0.5.1'
|
19
19
|
s.add_dependency 'drydock', '>= 0.6.8'
|
20
20
|
s.add_dependency 'gibbler', '>= 0.7.1'
|
21
21
|
s.add_dependency 'sysinfo', '>= 0.7.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stella
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.2.
|
4
|
+
version: 0.7.2.003
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delano Mandelbaum
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.5.
|
23
|
+
version: 0.5.1
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: drydock
|