Timeouts

Timeouts define how long LoadStrike waits for shutdown, coordination, and correlation before work is treated as too slow or incomplete.

What this page helps you do

What this page helps you do

Timeouts define how long LoadStrike waits for shutdown, coordination, and correlation before work is treated as too slow or incomplete.

Who this is for

Engineers writing or reviewing scenario code in one of the supported SDKs.

Prerequisites

  • A scenario or runtime surface you want to wire correctly in code

By the end

The exact SDK surface you need for this part of the runtime.

Use this page when

Use this reference when you already know the workflow and need the exact Timeouts API surface in code.

Visual guide

Sequence diagram showing how a LoadStrike workflow moves from setup to report output.
This page fits into the same setup, run, correlate, and report flow as the rest of the public LoadStrike runtime.

Guide

What Timeouts Control

Timeouts define the wait boundaries around shutdown, cluster coordination, and cross-system matching. Change them when the system is slower than the defaults or when you want failures to show up sooner.

Runner Timeouts

WithScenarioCompletionTimeout controls how long LoadStrike waits for scenarios to shut down cleanly. WithClusterCommandTimeout controls how long the coordinator waits for agent results and cluster acknowledgements in distributed runs.

Correlation Timeout

CrossPlatformTrackingConfiguration.CorrelationTimeout controls how long LoadStrike waits for a destination match after the source event has been seen. TimeoutCountsAsFailure decides whether a missed match should also increase failure totals.

Validation Rules

When you set timeout and poll values directly, they must be positive. Keep the values long enough for the real workflow, but short enough that timeouts still help surface broken paths quickly.

SDK reference samples

Use these SDK samples to compare how Timeouts is exposed across the supported languages before you wire it into a full scenario.

If you run these examples locally, add a valid runner key before execution starts. Set it with WithRunnerKey("...") or the config key LoadStrike:RunnerKey.

Timeouts

using LoadStrike;

var scenario = LoadStrikeScenario.Empty("timeout-demo")
    .WithLoadSimulations(LoadStrikeSimulation.KeepConstant(1, TimeSpan.FromSeconds(20)));

var context = LoadStrikeRunner.RegisterScenarios(scenario)
    .WithScenarioCompletionTimeout(TimeSpan.FromSeconds(45))
    .WithClusterCommandTimeout(TimeSpan.FromSeconds(90))
    .WithRunnerKey("rkl_your_local_runner_key");

context.Run();

Timeout-related fields and methods

CorrelationTimeout

Cross-platform tracking timeout for waiting on a destination match. It must stay greater than zero.

TimeoutSweepInterval

How often pending correlation entries are checked for timeout expiry. It must stay greater than zero.

TimeoutBatchSize

How many expired correlation entries are processed in one sweep. It must stay greater than zero.

RequestTimeout

Per-request timeout for HttpEndpointDefinition. Use it when the HTTP adapter needs a different timeout than the default 30 seconds.

WithScenarioCompletionTimeout(timeout)

Runner-level graceful-stop timeout for scenarios that need extra time to finish current work before shutdown completes.

WithClusterCommandTimeout(timeout)

Runner-level timeout for coordinator-agent command and result coordination.

WithLicenseValidationTimeout(timeout)

Runner-level timeout for license validation before the run begins.