Package org.acemq.workloads.endurance
Class Verdict
java.lang.Object
org.acemq.workloads.endurance.Verdict
The soak's verdict, from its readings: medians of the baseline and final readings per client,
against the allowances, with known upstream breaches classified rather than failed.
A port of the verdict scripts/soak.sh computed in Python, sentence for sentence:
release-preflight.sh matches a client's name inside these sentences to decide whether
a failed soak blocks that client's release, so the wording is an interface.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionconsole()failures()json(String stamp, int closed, EnduranceConfig config, String report, String readingsPath, List<Reading> readings) The JSON report the console reads: the same facts as the markdown, as data.known()markdown(String stamp, int closed, int cycleSeconds, int sampleSeconds, EnduranceConfig.Allowances a, String readings) The report, byte for byte in the formatscripts/soak.shwrote andrelease-preflight.shreads: a**PASSED**or**FAILED**line, the reasons as-bullets under "## What failed", and allowed breaches under "## Known upstream".static Verdictof(List<Reading> readings, List<Long> afterClose, int closed, EnduranceConfig.Allowances allowances, List<EnduranceConfig.KnownUpstream> knownUpstream) booleanpassed()recovery()rows()Per client, every reading as[minutes from the first reading, RSS in MB, fds, threads]: the shape the console's chart draws.status()table()
-
Method Details
-
of
public static Verdict of(List<Reading> readings, List<Long> afterClose, int closed, EnduranceConfig.Allowances allowances, List<EnduranceConfig.KnownUpstream> knownUpstream) - Parameters:
readings- every reading, in the order takenafterClose- the cluster's connection count right after each close, -1 where unreadclosed- how many forced recoveries the run didallowances- the growth allowed before it is a leakknownUpstream- breaches allowed within a ceiling of their own- Returns:
- the verdict
-
passed
public boolean passed() -
status
- Returns:
PASSEDorFAILED
-
rows
-
known
-
failures
-
table
- Returns:
- the markdown table, header included, without a trailing newline
-
recovery
- Returns:
- the connection-count lines, without a trailing newline
-
markdown
public String markdown(String stamp, int closed, int cycleSeconds, int sampleSeconds, EnduranceConfig.Allowances a, String readings) The report, byte for byte in the formatscripts/soak.shwrote andrelease-preflight.shreads: a**PASSED**or**FAILED**line, the reasons as-bullets under "## What failed", and allowed breaches under "## Known upstream". -
console
- Returns:
- what the script printed at the end, before the status line
-
json
public Map<String,Object> json(String stamp, int closed, EnduranceConfig config, String report, String readingsPath, List<Reading> readings) The JSON report the console reads: the same facts as the markdown, as data.- Returns:
- a map ready for Jackson
-
series
Per client, every reading as[minutes from the first reading, RSS in MB, fds, threads]: the shape the console's chart draws.
-