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.