Class ScenarioReport

java.lang.Object
org.acemq.workloads.scenario.ScenarioReport

public final class ScenarioReport extends Object
What a scenario did, node by node.

Same discipline as the single-path report: every finding carries the measurement that produced it, none of them offer advice, and a run that failed to offer its load is reported as invalid rather than as a verdict on the broker. Reporting "40,000/s: FAILED" when the generator could only produce 12,000 blames the wrong machine.

  • Method Details

    • scenario

      public Scenario scenario()
    • startedAt

      public Instant startedAt()
    • duration

      public Duration duration()
      Returns:
      how long the measured window was, which is shorter than asked for if stopped
    • producers

      public List<ScenarioReport.ProducerResult> producers()
    • queues

      public List<ScenarioReport.QueueResult> queues()
    • wasStoppedEarly

      public boolean wasStoppedEarly()
    • blockedFor

      public Duration blockedFor()
    • blockedReason

      public String blockedReason()
    • findings

      public List<Finding> findings()
    • totalPublished

      public long totalPublished()
      Returns:
      everything published across every producer
    • totalConsumed

      public long totalConsumed()
      Returns:
      everything consumed across every queue
    • isValid

      public boolean isValid()
      Returns:
      whether anything makes this run's numbers untrustworthy
    • passed

      public boolean passed()
      Returns:
      whether it is valid and nothing failed
    • format

      public String format()
      Returns:
      the report as text, for a terminal or a log
    • toString

      public String toString()
      Overrides:
      toString in class Object