Skip to main content
These features are not required for running workflows in production. Start with the Railway or Render guides first, then come back here when you need production debugging visibility.

Remote tracing with Redis

By default, workers don’t generate trace files in production. Local tracing writes to disk, which works in development but isn’t practical when your worker runs in a container that gets replaced on every deploy. Remote tracing solves this. The worker streams trace events to Redis as workflows execute. When a run completes, the trace is assembled and optionally uploaded to S3 as a JSON file. You can then pull traces via the API or CLI to debug failures without SSH access to your worker.

What you need

  • A Redis instance accessible from your worker. Most hosting providers offer managed Redis — check your provider’s add-on marketplace or database options.
  • An S3 bucket (optional) if you want traces persisted beyond Redis TTL. Any S3-compatible storage works.

Worker environment variables

Add these to your worker service’s environment:
The API service does not need Redis configuration. Only the worker streams trace events.

Verifying it works

  1. Deploy the worker with the new environment variables
  2. Run a workflow through the API
  3. Check that traces appear:
If traces don’t appear, check the worker logs for Redis connection errors and verify OUTPUT_REDIS_URL is reachable from the worker.

How it works

The worker emits trace events to Redis as each step, LLM call, and HTTP request executes. Redis acts as a temporary buffer — events are keyed by workflow run ID and expire after the configured TTL. When a workflow completes (or fails), the worker assembles the full trace tree from Redis and uploads it to S3 if configured. This means traces are available in Redis immediately during execution, and in S3 shortly after completion. See Tracing for the full trace format and how to read trace files.