Skip to main content

errorbar-tracing

Standard OpenTelemetry, curated. One install, one line, and your LLM traffic streams to errorbar — where you grade it, calibrate a judge against your own standards, and find out with confidence intervals whether a cheaper model holds up on your production traffic.

This package contains no instrumentation code of its own. It pins and configures the ecosystem's standard OpenTelemetry instrumentations — which gives it a property no other tracing SDK offers: you can uninstall it without losing your instrumentation. The identical setup in vanilla OTel is documented below; your spans are byte-for-byte the same either way, and nothing proprietary ever goes on the wire.

Install

pip install errorbar-tracing

Use

Call once at startup, before constructing any LLM client:

from errorbar_tracing import setup

tracing = setup()          # reads ERRORBAR_API_KEY and ERRORBAR_TAG
print(tracing.instrumented)  # e.g. ['openai', 'anthropic'] — only what's installed

Short-lived scripts should call tracing.shutdown() before exit to flush pending spans; long-running servers can skip it.

What gets captured

OpenAI, Anthropic, Gemini, and LangChain calls — automatically, and only for libraries actually installed (the instrumented list tells you exactly which). Successful calls, streamed calls, and failed calls (stored as ERROR trace structure — the most valuable signal there is, and the one status-code dashboards can't see).

Your inference does not move: requests keep going to your current provider; only trace telemetry flows to errorbar.

Configuration

Env var Meaning Default
ERRORBAR_API_KEY errorbar API key — required; setup() raises rather than exporting nowhere silently
ERRORBAR_TAG Population tag: one tag = one evaluation population in errorbar unset
ERRORBAR_OTLP_ENDPOINT OTLP/HTTP traces endpoint https://gateway.errorbar.ai/v1/traces
OTEL_SERVICE_NAME Standard OTel service name unset

All options can also be passed to setup() directly; explicit options beat env vars.

The eject guarantee

Remove this package and wire the same standard pieces yourself — identical spans, same endpoint, nothing lost:

import os
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.instrumentation.anthropic import AnthropicInstrumentor

provider = TracerProvider(
    resource=Resource.create({"service.name": "my-service", "omnia.tag": "my-agent"})
)
provider.add_span_processor(
    BatchSpanProcessor(
        OTLPSpanExporter(
            endpoint="https://gateway.errorbar.ai/v1/traces",
            headers={"Authorization": f"Bearer {os.environ['ERRORBAR_API_KEY']}"},
        )
    )
)
AnthropicInstrumentor().instrument(tracer_provider=provider)
# ...and the other instrumentors for whichever libraries you use

Already emitting OpenTelemetry (Pydantic AI, an existing OTel setup)? You don't need this package at all — three env vars point your existing exporter at errorbar. See the OTLP ingest reference.

Privacy

Span structure is always stored. Model-call content (prompts/completions) is stored only if your errorbar workspace has request logging enabled, under your retention window, with the same scrubbing and size caps as gateway traffic.

Verify your setup — get a receipt, not a hope

ERRORBAR_API_KEY=sk_... sh -c "$(curl -fsSL https://platform.omnia-voice.com/setup.sh)"

Proves the key works, confirms traces are actually landing, and names your one next step. Instrumentation that fails silently is the industry default; this is the alternative.

Links

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

errorbar_tracing-0.2.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

errorbar_tracing-0.2.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file errorbar_tracing-0.2.0.tar.gz.

File metadata

  • Download URL: errorbar_tracing-0.2.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for errorbar_tracing-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d9f0a1ec3ca17a6ff6a581d77e8e8830f1152223da194bb4aa90f7ea68a6f70a
MD5 f89d0550ae9fb4bfc9625692328a113e
BLAKE2b-256 74d16a1e7ce1ad36163f4d8fc8230df3275697e3b7a915ef69aa17a3fd6de415

See more details on using hashes here.

Provenance

The following attestation bundles were made for errorbar_tracing-0.2.0.tar.gz:

Publisher: publish.yml on omnia-v/omnia-tracing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file errorbar_tracing-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for errorbar_tracing-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 181f831374aa397a506f418c7345caca685a556acbdc9ae9d3ae832d7625a7ba
MD5 3a2552a9385a5641e3678e904f78223d
BLAKE2b-256 34d2db015faa6096f184c5c6f769a222b51bd8d777813b50bae021e0eb08dee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for errorbar_tracing-0.2.0-py3-none-any.whl:

Publisher: publish.yml on omnia-v/omnia-tracing

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

2 files

This release

0.2.0 This release

2 files

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