Diffy is a traffic-shadowing and response-diffing tool that helps you validate a new version of a service against a trusted baseline before a full cutover. It acts as a proxy that fans out real production requests to three backends: the current “primary,” a “candidate” (new build), and a “shadow” baseline, then compares responses to detect behavioral differences. By using live traffic rather than synthetic tests, Diffy surfaces edge cases and data-dependent discrepancies that unit tests often miss. It provides mechanisms to normalize noise (timestamps, IDs, ordering) so diffs reflect meaningful regressions rather than incidental variance. Results are aggregated and visualized so teams can triage by endpoint, response field, or error type, turning release validation into a data-driven process. Built on Twitter’s Finagle stack, Diffy demonstrates a practical pattern for continuous verification and safer deployments in microservice environments.
Features
- Proxies / forwards incoming requests to multiple service instances (candidate vs known-good) to compare behavior
- Detects differences in responses (content, headers etc) automatically, so regressions or bugs can be flagged
- Minimal setup required to integrate for some HTTP/Thrift services, without needing full test suite for every scenario
- Support for defining transformations or filters on responses before comparing, so that irrelevant differences can be ignored
- Compatible with deployment environments for staging / production comparison, able to operate in a live-traffic or shadow mode
- Generates reports / diffs showing what changed, where services behave differently, to assist debugging/regression tracking