Request Replay.

Debug production bugs with confidence. Capture, replay, and fix issues without affecting live traffic.

How It Works

📹

1. Capture

Automatically capture failed requests with full context: headers, body, environment, and stack trace.

🔄

2. Replay

Replay the exact request in your local environment with the same data and conditions.

✏️

3. Fix & Verify

Edit code, compare performance, and verify the fix before deploying to production.

CLI Commands

php siro replay [trace_id]basic

Replay a captured request by its trace ID. Alias — replays the latest trace if no ID given

php siro replay <trace_id> --diffcompare

Compare before/after response — response time, memory, status code

✓ Response time: 245ms → 89ms (-64%)
✓ Memory usage: 12MB → 4MB (-67%)
php siro replay <trace_id> --editworkflow

Open related code in your default editor for quick fixes

php siro replay <trace_id> --set env=productionoverride

Override environment variables for testing different configurations

php siro replay <trace_id> --dry-runsafe

Preview changes without executing (safe mode)

php siro replay <trace_id> --testgenerate

Auto-generate a PHPUnit regression test from the trace for CI pipelines

php siro log:replay <trace_id> --forceexecute

Execute the actual request — allows POST/PUT/DELETE in production

php siro log:replay <trace_id> --safesafe

Safe mode (default) — GET-only requests, no data mutation

php siro log:replay <trace_id> --format=curlexport

Output as a curl command — copy-paste to run outside the terminal

php siro log:replay <trace_id> --format=httpieexport

Output as an HTTPie command — compatible with HTTPie CLI

php siro log:replay <trace_id> --seedseed

Seed the database from request data — recreate required state before replaying

php siro fix [trace_id]workflow

Watch mode — auto re-test on file save. Pass a trace_id to fix and replay in one go

Use Cases

🐛

Production Bug Investigation

Capture errors in production and replay them locally with exact same conditions.

📊

Performance Regression Testing

Compare response times and memory usage between versions using --diff flag.

🔗

API Contract Testing

Verify API behavior hasn't changed after refactoring or updates.

🛡️

Security Incident Analysis

Replay suspicious requests to understand attack patterns without risk.

Start Debugging Smarter

Never guess about production bugs again.

Read Documentation →