← Code Exchange

Temporal Workflow Replay Debugger

A polyglot debugger for Temporal workflows, provides the ability to debug based on history events for Temporal workflow written in many SDK languages


⚠️ Community Contributed Project

This project was generously donated by one of our fabulous Temporal community members! We encourage you to check it out, but urge caution as Temporal does not formally support or endorse this project.

Introduction#

TLDR: watch the demo:

A comprehensive debugging solution that enables step-through debugging of Temporal workflows. Unlike traditional debuggers that aren't aware of Temporal's execution model, this debugger provides a seamless development experience by allowing you to set breakpoints, inspect variables, and trace execution flow within your workflow code.

Why This Debugger?#

Debugging Temporal workflows has traditionally been challenging. Execution of a workflow is driven by history events rather than direct code execution. Workflow state is managed externally by the Temporal service, and the progress of a workflow depends on interaction between the Temporal server and a thick SDK that knows how to use history events to trigger the actual workflow code execution.

This debugger solves these challenges by leveraging the workflow replayer - it reconstructs workflow execution from Temporal's event history, allowing you to debug exactly what happened during the original execution.

Key Features#

  • Multi-language Support: Works with Go, TypeScript/Node.js, and Python via adapters
  • VS Code Extension: Open a panel, load history, set event breakpoints, and replay with your adapter
  • History Event-based Breakpoints: Set breakpoints on specific workflow history events

Language

Go
TypeScript
Python
Java
💖 Community debuggerpolyglot

About the Author

Man in sunglasses and tropical shirt taking selfie at beach with turquoise water and green mountains in background.

Phuong D. Nguyen

Grab