Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

acceldata-aio-tracer

The Acceldata AIO instrumentation SDK. OpenTelemetry-native: it does not replace your instrumentation, it completes it.

pip install acceldata-aio-tracer
import acceldata_aio_tracer as aio

aio.init(
    service="my-app",
    tenant_id="...",
    project_id="...",
    endpoint="https://collector.example.com",
    access_key="...",
    secret_key="...",
)

with aio.root_span(conversation_id=conversation_id, input_preview=user_message):
    ...   # model calls, tools, MCP, outbound HTTP

What it does

Gives a turn a root. Chat transports like socket.io have no server span, so without a root the model call, each tool call, each MCP handshake and every outbound HTTP request start their own disconnected trace. root_span() opens one span they all nest under, so a user's question is one trace.

Puts the conversation id on every span. Instrumentation libraries tag the spans they own and leave the rest bare. Measured on one application, 2 of 8 instrumentation scopes carried the id, and the untagged spans held over a million tokens — so per-conversation totals were wrong by 15%. This SDK holds the id for the duration of the turn and stamps it on every span started inside, whichever library produced it. An id a library set itself is never overwritten.

Carries the user's message even when the turn fails. The preview is set when the turn opens, not when it completes, so a request that dies before the first model call still shows what was asked.

Scope

root_span() marks a unit of work the application knows the boundaries of and instrumentation cannot infer. A chat turn is one. So is a workflow run:

with aio.root_span(conversation_id=f"{instance_id}:{session_id}", name="workflow_run"):
    ...

name becomes a low-cardinality column — keep it a fixed label, never an interpolated id.

Instrumentation

Instrumentation for models, agents and MCP ships inside the package: init() activates whichever of those libraries is installed in your environment and skips the rest. The FastAPI and httpx layers are the one optional extra, and the SDK works with none of them — you still get the root span and identity on whatever your application emits itself.

pip install 'acceldata-aio-tracer[http]'

Call init() before constructing HTTP or model clients: instrumentation patches at import and wraps at construction, so clients built earlier are not covered.

If your application already configures OpenTelemetry, the SDK adds itself to the existing provider rather than replacing it, and warns if that provider's resource carries no tenant.

Stability

service, tenant_id, project_id and endpoint will not be renamed. The keyword-only parameters may evolve across releases — always pass them by name.

Telemetry never breaks the application: every failure path is swallowed, and init() returns False rather than raising when it cannot start.

Release files for acceldata-aio-tracer 1.0.0.dev1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acceldata-aio-tracer 1.0.0.dev1
File Size Uploaded
acceldata_aio_tracer-1.0.0.dev1.tar.gz 493.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for acceldata-aio-tracer 1.0.0.dev1
File Interpreter ABI Platform
acceldata_aio_tracer-1.0.0.dev1-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / acceldata_aio_tracer-1.0.0.dev1.tar.gz

Download URL acceldata_aio_tracer-1.0.0.dev1.tar.gz
Size 493.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4d74fb4e9c26e274c2811021ebac5ee7ee617851eed0a85ec8bead0a3696904f
BLAKE2b-256 checksum
How to use checksums
7b5960219c942166b8dc2f3cacb1d7e61cf8a44a67d73b18db982c51d8c7bd3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.5 CPython/3.11.8 Darwin/25.3.0

Release files / acceldata_aio_tracer-1.0.0.dev1-py3-none-any.whl

Download URL acceldata_aio_tracer-1.0.0.dev1-py3-none-any.whl
Size 665.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4436343d33edf68b8e96f2ccbc74403b6d455968510e0468aaf9a6af89a50c34
BLAKE2b-256 checksum
How to use checksums
eb6f1e7eeef8ec77a85e4dce0c78cc7d413088414c913f61e2bf47a36c66c8e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.5 CPython/3.11.8 Darwin/25.3.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page