Python
- Install
overmind[tracing]into the application’s environment. - Call
overmind.init()at process startup with the deployment URL, service name and capability identity. Provide the API key through protected runtime configuration. - Wrap the request’s entry point in
overmind.run()or an entry-point decorator. Capture the application input and delivered result. - Trace meaningful tools, retrievals and workflows. Use provider instrumentation for model calls; avoid recording the same call twice.
- Add source-level
expectations=["…"]to the relevant supported decorators when the code declares evaluation criteria. Sync after changing these declarations. - Run a representative request with a unique conversation ID, flush, and inspect the actual trace.
/overmind ensure-tracing workflow can apply these changes. get_instrumentation_plan returns Python placement tickets; verify_instrumentation inspects supplied spans without writing another trace.
Check nesting, capability binding, input/output values, errors, model identity and measured usage. Decorator presence alone is not verification. See the Python SDK reference.
TypeScript, JavaScript and other languages
Use your application’s existing OpenTelemetry setup. There is no current Overmind JavaScript SDK, and Python placement tickets are not supplied for JavaScript anchors. For Overmind Cloud, set an explicit trace endpoint to avoid exporter path ambiguity. For self-hosting, use your installation’s API base with the same/api/v1/traces path:
x-api-key through your application’s secret mechanism. Stamp overmind.capability.id, a meaningful span type and the actual input/output evidence. Add conversation.id for a multi-turn session. Use the OTLP reference for the wire contract.
Missing or incomplete traces
Check the exporter destination, project credential, process flush and request boundary. Unrecognised capability identities remain unbound; they do not create capabilities. A short-lived process can exit before buffered spans are sent. Inspect payload capture before enabling it on sensitive application paths.capture="none", ignored arguments and explicit formatting let you control which values enter telemetry; automatic secret-key redaction is not a complete data policy.