Class: MockServer::LoadStage
- Inherits:
-
Object
- Object
- MockServer::LoadStage
- Defined in:
- lib/mockserver/models.rb
Overview
One stage of a LoadProfile, run in sequence. Each stage holds or ramps a setpoint for duration_millis:
-
VU(closed model) - holdvusvirtual users, or rampstart_vustoend_vusalongcurve. -
RATE(open model) - holdrateiterations/second, or rampstart_ratetoend_ratealongcurve, optionally capping the auto-scaling virtual-user pool atmax_vus. -
PAUSE- drive no load forduration_millis.
Prefer the LoadStage.vu, LoadStage.rate and LoadStage.pause factories, which emit only the fields relevant to the stage type and mode.
Instance Attribute Summary collapse
-
#curve ⇒ Object
Returns the value of attribute curve.
-
#duration_millis ⇒ Object
Returns the value of attribute duration_millis.
-
#end_rate ⇒ Object
Returns the value of attribute end_rate.
-
#end_vus ⇒ Object
Returns the value of attribute end_vus.
-
#max_vus ⇒ Object
Returns the value of attribute max_vus.
-
#rate ⇒ Object
Returns the value of attribute rate.
-
#start_rate ⇒ Object
Returns the value of attribute start_rate.
-
#start_vus ⇒ Object
Returns the value of attribute start_vus.
-
#type ⇒ Object
Returns the value of attribute type.
-
#vus ⇒ Object
Returns the value of attribute vus.
Class Method Summary collapse
- .from_hash(data) ⇒ Object
-
.pause(duration_millis) ⇒ Object
A
PAUSEstage - drive no load forduration_millis. -
.rate(duration_millis, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil, curve: nil) ⇒ Object
A
RATE(open-model) stage - holdrateor rampstart_ratetoend_rate(iterations/second). -
.vu(duration_millis, vus: nil, start_vus: nil, end_vus: nil, curve: nil) ⇒ Object
A
VU(closed-model) stage - holdvusor rampstart_vustoend_vus.
Instance Method Summary collapse
-
#initialize(type:, duration_millis:, curve: nil, vus: nil, start_vus: nil, end_vus: nil, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil) ⇒ LoadStage
constructor
A new instance of LoadStage.
- #to_h ⇒ Object
Constructor Details
#initialize(type:, duration_millis:, curve: nil, vus: nil, start_vus: nil, end_vus: nil, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil) ⇒ LoadStage
Returns a new instance of LoadStage.
2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 |
# File 'lib/mockserver/models.rb', line 2306 def initialize(type:, duration_millis:, curve: nil, vus: nil, start_vus: nil, end_vus: nil, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil) @type = type @duration_millis = duration_millis @curve = curve @vus = vus @start_vus = start_vus @end_vus = end_vus @rate = rate @start_rate = start_rate @end_rate = end_rate @max_vus = max_vus end |
Instance Attribute Details
#curve ⇒ Object
Returns the value of attribute curve.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def curve @curve end |
#duration_millis ⇒ Object
Returns the value of attribute duration_millis.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def duration_millis @duration_millis end |
#end_rate ⇒ Object
Returns the value of attribute end_rate.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def end_rate @end_rate end |
#end_vus ⇒ Object
Returns the value of attribute end_vus.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def end_vus @end_vus end |
#max_vus ⇒ Object
Returns the value of attribute max_vus.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def max_vus @max_vus end |
#rate ⇒ Object
Returns the value of attribute rate.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def rate @rate end |
#start_rate ⇒ Object
Returns the value of attribute start_rate.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def start_rate @start_rate end |
#start_vus ⇒ Object
Returns the value of attribute start_vus.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def start_vus @start_vus end |
#type ⇒ Object
Returns the value of attribute type.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def type @type end |
#vus ⇒ Object
Returns the value of attribute vus.
2303 2304 2305 |
# File 'lib/mockserver/models.rb', line 2303 def vus @vus end |
Class Method Details
.from_hash(data) ⇒ Object
2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 |
# File 'lib/mockserver/models.rb', line 2353 def self.from_hash(data) return nil if data.nil? new( type: data['type'], duration_millis: data['durationMillis'], curve: data['curve'], vus: data['vus'], start_vus: data['startVus'], end_vus: data['endVus'], rate: data['rate'], start_rate: data['startRate'], end_rate: data['endRate'], max_vus: data['maxVus'] ) end |
.pause(duration_millis) ⇒ Object
A PAUSE stage - drive no load for duration_millis.
2334 2335 2336 |
# File 'lib/mockserver/models.rb', line 2334 def self.pause(duration_millis) new(type: 'PAUSE', duration_millis: duration_millis) end |
.rate(duration_millis, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil, curve: nil) ⇒ Object
A RATE (open-model) stage - hold rate or ramp start_rate to end_rate (iterations/second).
2328 2329 2330 2331 |
# File 'lib/mockserver/models.rb', line 2328 def self.rate(duration_millis, rate: nil, start_rate: nil, end_rate: nil, max_vus: nil, curve: nil) new(type: 'RATE', duration_millis: duration_millis, rate: rate, start_rate: start_rate, end_rate: end_rate, max_vus: max_vus, curve: curve) end |
.vu(duration_millis, vus: nil, start_vus: nil, end_vus: nil, curve: nil) ⇒ Object
A VU (closed-model) stage - hold vus or ramp start_vus to end_vus.
2321 2322 2323 2324 |
# File 'lib/mockserver/models.rb', line 2321 def self.vu(duration_millis, vus: nil, start_vus: nil, end_vus: nil, curve: nil) new(type: 'VU', duration_millis: duration_millis, vus: vus, start_vus: start_vus, end_vus: end_vus, curve: curve) end |
Instance Method Details
#to_h ⇒ Object
2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 |
# File 'lib/mockserver/models.rb', line 2338 def to_h MockServer.strip_none({ 'type' => @type, 'durationMillis' => @duration_millis, 'curve' => @curve, 'vus' => @vus, 'startVus' => @start_vus, 'endVus' => @end_vus, 'rate' => @rate, 'startRate' => @start_rate, 'endRate' => @end_rate, 'maxVus' => @max_vus }) end |