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", "errorbar.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://www.errorbar.ai/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.3.0.tar.gz (4.9 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.3.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: errorbar_tracing-0.3.0.tar.gz
  • Upload date:
  • Size: 4.9 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.3.0.tar.gz
Algorithm Hash digest
SHA256 a7f9bb45cf62d5130bfc5a25ba3f65e61a114338b168a6e1eaf4251c2c766535
MD5 6619f16fe8033288eafe4695d588b6f6
BLAKE2b-256 6ea2d341739b49b90a41a05fcb827dedb958824df589dcfb4fd8e4906310af00

See more details on using hashes here.

Provenance

The following attestation bundles were made for errorbar_tracing-0.3.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.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for errorbar_tracing-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c031e7a15e0e046d02be430b76af52d00f80f62b1b49759adec0303086d80c3
MD5 cd71878bde36bd856a2875225117cce4
BLAKE2b-256 d5bafe36f63c986200a5802284aa81e4cbb8031e42946c93faefa10272b47252

See more details on using hashes here.

Provenance

The following attestation bundles were made for errorbar_tracing-0.3.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

This release

0.3.0 This release

2 files

0.2.0

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