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.
2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 |
# File 'lib/mockserver/models.rb', line 2813 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.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def curve @curve end |
#duration_millis ⇒ Object
Returns the value of attribute duration_millis.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def duration_millis @duration_millis end |
#end_rate ⇒ Object
Returns the value of attribute end_rate.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def end_rate @end_rate end |
#end_vus ⇒ Object
Returns the value of attribute end_vus.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def end_vus @end_vus end |
#max_vus ⇒ Object
Returns the value of attribute max_vus.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def max_vus @max_vus end |
#rate ⇒ Object
Returns the value of attribute rate.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def rate @rate end |
#start_rate ⇒ Object
Returns the value of attribute start_rate.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def start_rate @start_rate end |
#start_vus ⇒ Object
Returns the value of attribute start_vus.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def start_vus @start_vus end |
#type ⇒ Object
Returns the value of attribute type.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def type @type end |
#vus ⇒ Object
Returns the value of attribute vus.
2810 2811 2812 |
# File 'lib/mockserver/models.rb', line 2810 def vus @vus end |
Class Method Details
.from_hash(data) ⇒ Object
2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 |
# File 'lib/mockserver/models.rb', line 2860 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.
2841 2842 2843 |
# File 'lib/mockserver/models.rb', line 2841 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).
2835 2836 2837 2838 |
# File 'lib/mockserver/models.rb', line 2835 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.
2828 2829 2830 2831 |
# File 'lib/mockserver/models.rb', line 2828 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
2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 |
# File 'lib/mockserver/models.rb', line 2845 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 |