Apache Burr (tracing)
Apache Burr (tracing)
Apache Burr is a Python framework for building state-machine applications. Respan attaches a Burr lifecycle adapter when an ApplicationBuilder builds an application, preserving Burr’s application, action, state, custom-span, and stream concepts.
Set up Respan
Create an account at platform.respan.ai and grab an API key.
Run npx @respan/cli setup to set up with your coding agent.
Setup
What gets traced
Burr application IDs are mapped to Respan trace groups. Partition keys are mapped to thread identifiers, allowing executions for the same logical partition to be correlated.
Custom spans and attributes
Burr actions that accept __tracer: TracerFactory keep their native custom spans and dependencies:
Content controls
Set capture_content=False to omit state, action inputs and results, stream items, and logged attribute values:
Application/action identity, state-machine structure, custom span names and dependencies, stream item indexes, identifiers, and status remain available.
Lifecycle
The instrumentor patches ApplicationBuilder.build() and appends one Respan lifecycle adapter. Applications built before activation are not retrofitted. Duplicate adapters are avoided when other Burr lifecycle adapters are already present.
Call respan.shutdown() to flush telemetry and deactivate instrumentation. Applications built while the instrumentor was active retain their adapter object, but it is disabled after the last active instrumentor is deactivated.