Shadow testing (how-to)

Job: copy live production HTTP onto a candidate (new build, new config) while users still hit the origin. Product page for the “why”: /shadow-testing/.

sudo gor --input-raw :8080 --output-http="http://candidate.example.com"

Safer path — record first, replay when you are ready:

sudo gor --input-raw :8080 --output-file prod.gor
gor --input-file prod.gor --output-http="http://candidate.example.com"

Keep prod off the replay machine under load: capture with --output-tcp and replay on an aggregator. See distributed.

Filter admin and rewrite secrets before the candidate sees them: filtering, rewriting, middleware.

Compare status codes with --output-report (and --input-raw-track-response / --output-http-track-response as needed):

sudo gor --input-raw :8080 --input-raw-track-response \
  --output-http="http://candidate.example.com" --output-http-track-response \
  --output-report report.html

Turn the same file into a load test: load testing.