| Empty / missing API key | Tracing disabled, warning logged, wrapped functions still execute, no spans sent, no errors thrown |
enabled: false | Same as above - wrapped functions pass through unwrapped |
| Span dispatch | Fire-and-forget. Errors in span transport never propagate to host code |
| Nested spans | Child spans inherit traceId; parent-child relationships tracked via context |
| Trace ID | UUID v4. Generated at root span, inherited by descendants |
| Span ID | UUID v4. Unique per span |
| Root span | The outermost span in a call tree. Emits trace completion signal when it ends |
| Errors in user code | Captured on the span (error field) then re-raised/re-thrown |
Default serviceUrl | https://bitfab.ai |
Default span type | "custom". A label only; does not affect tracing, replay, or evaluation |
addContext | Each call appends one entry. Multiple calls accumulate |
setPrompt | Metadata only; does not change what the span executes. Last write wins. Calling outside a span is a no-op |
setSessionId | Stored as a DB column on the trace. Filterable in dashboard |
setMetadata | Merges with existing metadata. Later values win per-key |