Musterby Elitery
Integrations

Restate

Trace Restate durable-execution agents in Muster via OpenTelemetry — every step persisted, every span captured.

Restate is a durable-execution runtime that persists every step of an agent run so failures resume rather than restart. Muster captures Restate executions via OpenTelemetry, with the RestateTracer flattening agent spans under Restate's parent span for a unified trace view.

Setup

pip install restate-sdk openai-agents langfuse openinference-instrumentation-openai-agents hypercorn
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_BASE_URL=https://app.getmuster.io
OPENAI_API_KEY=sk-proj-...

Wire up tracing

from langfuse import get_client
from restate.ext.tracing import RestateTracer
from openinference.instrumentation import OITracer
from opentelemetry import trace as trace_api

langfuse = get_client()
tracer = OITracer(RestateTracer(trace_api.get_tracer("muster-restate")))

Use Restate's DurableRunner

Each tool invocation becomes a durable step in Restate's journal — and a span in Muster. If a request fails, Restate resumes from the last completed step rather than restarting the agent.

See also