Skip to content
LiteTraffic

Troubleshooting

Documentation index

Start with litetraffic doctor --target <url> --json, then open the run’s result.json and read limitations.

Symptom Likely cause What to do
k6 executable not found k6 is not on PATH Install it (installation) or pass --k6-path
unsupported k6 version; expected v2.2.0 A different k6 is installed Install v2.2.0 alongside it and pass --k6-path
target must be an absolute http or https URL Missing scheme or host Use e.g. http://127.0.0.1:8765
target URL must not contain credentials user:pass@ in the URL Move credentials to the scenario’s token environment variables
invalid manifest: field.path: message The manifest fails validation; each problem is listed as field.path: message, separated by ; (no path when the check spans several fields) Fix the named field; litetraffic inspect <scenario> re-checks it without running
request budget ... is below the journey and lifecycle maximum Budgets too small for the schedule Raise max_requests, or lower rates/durations/max_requests per journey
scheduled duration (...) plus engine start/drain (2 s), fixture (...) and observation (...) deadlines need N s, max_seconds is M Schedule plus 2 s engine start/drain and fixture/observer deadlines (N seconds) is longer than max_seconds (M) Raise max_seconds to at least N or shorten the schedule
Limitation k6 thresholds breached, verdict fail k6 exited 99: a threshold in the scenario script was crossed Check the threshold values in the script against metrics in result.json
Verdict error, lifecycle crashed k6 failed to start or exited non-zero (other than 99) Read engine.stderr.log; often a script syntax error or a connection refused
target unreachable: all N requests failed before an HTTP response Every request failed before any HTTP response (connection refused, DNS, TLS, timeout) Check that the app is running and --target host/port is correct; run litetraffic doctor --target <url>
Verdict inconclusive, missing assertion evidence Script never emitted LT_EVENT for that assertion, or used the wrong run_id Check console.log; make sure each declared assertion is logged
partial assertion evidence (n/m) Some journeys did not run or did not log Check dropped_iterations; raise max_in_flight or reduce the rate
delivered journeys ... do not match planned journeys The generator could not keep up, or the run ended early Same as above; also check that the target is not overloaded
Lifecycle timed_out The app is too slow for the max_seconds envelope Raise max_seconds or investigate the slowdown
fixture create HTTP 4xx/5xx Fixture endpoint missing, rejected the body, or needs auth Check create_path, create_body, bearer_token_env
fixture cleanup ... makes the verdict error Delete failed Clean up manually; fix delete_path
... unavailable: deadline exceeded Fixture or observer endpoint took over 5 s in total (connect + full body) Make the endpoint answer promptly; slow or trickling responses are cut off
observer HTTP ... / unknown Observation endpoint not reachable or not 200 JSON Check observation.path and token
Example verify fails on the first try A demo server is still running from earlier with a fault flag, or holds old state Stop it and restart without the fault flag
diff is inconclusive Different seed, manifest, engine, or schedule; the candidate verdict is error/inconclusive; the candidate delivered less work (fewer iterations or HTTP requests than the baseline); or, without a p95 gate, the candidate has no latency samples Read the reasons field; compare runs of the same scenario and seed that ran to completion
p95 gate inconclusive Fewer than 200 duration samples in a run Use a longer or higher-rate schedule

Still stuck? Open an issue with the command, result.json, and engine.stderr.log after removing any secrets.

Rendered from the core repository. View this page on GitHub