news.ycombinator.com• Oct 25, 2024• 1 min read
Seeking Adoption: dotnet time-travel debugging for distributed systemsHi,A few years ago, I faced challenges while working with a complex microservices system. The system’s tests relied on non-deterministic data, and reproducing intricate business scenarios or bugs locally was almost impossible. These issues prompted me to create a tool that simplifies the workflow by enabling record and replay of service interactions.The core idea is to record all calls and data associated with a specific request, allowing easy replay for two primary cases: - Troubleshooting Test Failures: When tests fail, this tool makes it easier to pinpoint the exact service where data differences occurred. It identifies whether failures stem from the use of external data. - Reproducing Business Scenarios: The workflow can be recorded by a client or PM, and the resulting state can be provided directly to the developer, creating a reproducible scenario for troubleshooting.The tool leverages DispatchProxy to create decorators for every interface within the service, recording variable v