Class Verdict

java.lang.Object
org.acemq.workloads.endurance.Verdict

public final class Verdict extends Object
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.

  • 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 taken
      afterClose - the cluster's connection count right after each close, -1 where unread
      closed - how many forced recoveries the run did
      allowances - the growth allowed before it is a leak
      knownUpstream - breaches allowed within a ceiling of their own
      Returns:
      the verdict
    • passed

      public boolean passed()
    • status

      public String status()
      Returns:
      PASSED or FAILED
    • rows

      public List<Verdict.Row> rows()
    • known

      public List<String> known()
    • failures

      public List<String> failures()
    • table

      public String table()
      Returns:
      the markdown table, header included, without a trailing newline
    • recovery

      public String 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 format scripts/soak.sh wrote and release-preflight.sh reads: a **PASSED** or **FAILED** line, the reasons as - bullets under "## What failed", and allowed breaches under "## Known upstream".
    • console

      public String 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

      public static Map<String,List<double[]>> series(List<Reading> readings)
      Per client, every reading as [minutes from the first reading, RSS in MB, fds, threads]: the shape the console's chart draws.