Package org.acemq.workloads.endurance
Class EnduranceConfig
java.lang.Object
org.acemq.workloads.endurance.EnduranceConfig
What an endurance run is asked to do: the soak's numbers, the clients to watch and how each one
is started, the allowances a leak has to cross, and the upstream defects allowed within a
measured ceiling.
Every default is what scripts/soak.sh used, so a run with no file and no flags is the
soak the release preflight has always read. A YAML file overrides any of it; flags override the
file.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classGrowth a client is allowed before it is a leak.static final classA breach a library is known to have for a reason nothing in the workspace can fix, with a ceiling of its own:base * factor + perRecovery * recoveries + plus.static final classHow one standing load is started. -
Field Summary
FieldsModifier and TypeFieldDescriptionThe AMQP endpoint every standing load publishes to.intAfter the last cycle: a client still mid-recovery holds two of some things.intintbooleanLeave the loads this run started running when it ends.The five standing loads the workspace has, in the order the soak always listed them.Per-client launch settings, laid over the defaults field by field.The management API the fault and the connection counts go through.Management credentials; taken from the broker URL when not given.intintReadings taken for the baseline and again at the end; the verdict takes the median.Relative to the workspace unless absolute.intintHow long a load has to write its first sample before it counts as one that will not start.Pid files, sample files and raw readings; relative to the workspace unless absolute.intThe workspace the default launch commands, reports and pid files are relative to. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
LANGUAGES
The five standing loads the workspace has, in the order the soak always listed them. -
workspace
The workspace the default launch commands, reports and pid files are relative to. -
broker
The AMQP endpoint every standing load publishes to. -
management
The management API the fault and the connection counts go through. -
managementUser
Management credentials; taken from the broker URL when not given. -
managementPassword
-
cycles
public int cycles -
cycleSeconds
public int cycleSeconds -
warmupSeconds
public int warmupSeconds -
sampleSeconds
public int sampleSeconds -
cooldownSeconds
public int cooldownSecondsAfter the last cycle: a client still mid-recovery holds two of some things. -
readings
public int readingsReadings taken for the baseline and again at the end; the verdict takes the median. -
readingGapSeconds
public int readingGapSeconds -
startupSeconds
public int startupSecondsHow long a load has to write its first sample before it counts as one that will not start. Builds run before the clock starts. -
allowances
-
reportDir
Relative to the workspace unless absolute. -
stateDir
Pid files, sample files and raw readings; relative to the workspace unless absolute. -
keep
public boolean keepLeave the loads this run started running when it ends. -
clients
-
launch
Per-client launch settings, laid over the defaults field by field. -
knownUpstream
-
-
Constructor Details
-
EnduranceConfig
public EnduranceConfig()
-
-
Method Details
-
read
- Parameters:
file- an endurance YAML file, or null for the defaults- Returns:
- the configuration
-
validate
public void validate()- Throws:
ConfigException- if a number is out of range or a client has no way to start
-
launchFor
- Returns:
- the launch for a client: the default, with whatever the file set laid over it
-