lightspeed/ops/load_harness

Deterministic load-testing harness for session behavior.

Types

One fixture-scenario outcome.

pub type FixtureOutcome {
  FixtureOutcome(
    scenario: FixtureScenario,
    passed: Bool,
    deterministic: Bool,
    signature: String,
  )
}

Constructors

  • FixtureOutcome(
      scenario: FixtureScenario,
      passed: Bool,
      deterministic: Bool,
      signature: String,
    )

Full M34 fixture report.

pub type FixtureReport {
  FixtureReport(
    outcomes: List(FixtureOutcome),
    failed_scenarios: Int,
    nondeterministic_failures: Int,
  )
}

Constructors

  • FixtureReport(
      outcomes: List(FixtureOutcome),
      failed_scenarios: Int,
      nondeterministic_failures: Int,
    )

M34 fixture scenarios.

pub type FixtureScenario {
  BaselineLoadProfile
  SlowAckBacklogProfile
  CleanAckProfile
}

Constructors

  • BaselineLoadProfile
  • SlowAckBacklogProfile
  • CleanAckProfile

Deterministic load scenario.

pub type Scenario {
  Scenario(
    session_count: Int,
    increments_per_session: Int,
    include_reconnect: Bool,
    include_crash_restart: Bool,
    ack_every: Int,
  )
}

Constructors

  • Scenario(
      session_count: Int,
      increments_per_session: Int,
      include_reconnect: Bool,
      include_crash_restart: Bool,
      ack_every: Int,
    )

One session outcome under load.

pub type SessionOutcome {
  SessionOutcome(
    session_id: String,
    final_counter: Int,
    telemetry_events: Int,
    pending_patches: Int,
    patch_queued: Int,
    patch_acked: Int,
    crashes: Int,
    reconnects: Int,
  )
}

Constructors

  • SessionOutcome(
      session_id: String,
      final_counter: Int,
      telemetry_events: Int,
      pending_patches: Int,
      patch_queued: Int,
      patch_acked: Int,
      crashes: Int,
      reconnects: Int,
    )

Aggregate load summary.

pub type Summary {
  Summary(
    total_sessions: Int,
    total_increments: Int,
    total_patch_queued: Int,
    total_patch_acked: Int,
    total_crashes: Int,
    total_reconnects: Int,
    outcomes: List(SessionOutcome),
  )
}

Constructors

  • Summary(
      total_sessions: Int,
      total_increments: Int,
      total_patch_queued: Int,
      total_patch_acked: Int,
      total_crashes: Int,
      total_reconnects: Int,
      outcomes: List(SessionOutcome),
    )

Values

pub fn default_scenario() -> Scenario

Default scenario tuned for quick local checks.

pub fn failed_scenarios(report: FixtureReport) -> Int

Failed scenario count.

pub fn fixture_deterministic(outcome: FixtureOutcome) -> Bool

Determinism accessor.

pub fn fixture_outcomes(
  report: FixtureReport,
) -> List(FixtureOutcome)

Report outcomes.

pub fn fixture_pass_fail_label(outcome: FixtureOutcome) -> String

Stable pass/fail label.

pub fn fixture_report_signature(report: FixtureReport) -> String

Stable fixture report signature.

pub fn fixture_scenario(
  outcome: FixtureOutcome,
) -> FixtureScenario

Scenario accessor.

pub fn fixture_scenario_label(
  scenario: FixtureScenario,
) -> String

Scenario label.

pub fn fixture_signature(outcome: FixtureOutcome) -> String

Outcome signature.

pub fn nondeterministic_failures(report: FixtureReport) -> Int

Nondeterministic scenario count.

pub fn run(scenario: Scenario) -> Summary

Run a deterministic load scenario.

pub fn run_fixture_matrix() -> FixtureReport

Run the deterministic M34 fixture matrix.

pub fn run_fixture_scenario(
  scenario: FixtureScenario,
) -> FixtureOutcome

Run one M34 fixture scenario twice and require deterministic parity.

pub fn snapshot_report_markdown() -> String

Deterministic markdown report for M34 fixture scripts.

pub fn snapshot_signature() -> String

Deterministic snapshot signature for M34 drift gates.

pub const snapshot_version: Int
pub fn summary_signature(summary: Summary) -> String

Stable summary signature for one scenario run.

Search Document