Skip to main content

OpenTelemetry-based tracing module for Lemma

Project description

uselemma-tracing

OpenTelemetry-based tracing for AI agents. Capture inputs, outputs, timing, token usage, and errors — then view everything in Lemma.

Installation

pip install uselemma-tracing

Quick Start

1. Register the tracer provider

Call register_otel once when your application starts. It reads LEMMA_API_KEY and LEMMA_PROJECT_ID from environment variables by default.

from uselemma_tracing import register_otel

register_otel()

You can also enable experiment mode globally for the process:

from uselemma_tracing import enable_experiment_mode

enable_experiment_mode()

2. Wrap your agent

wrap_agent creates a root OpenTelemetry span named ai.agent.run and records:

  • ai.agent.name
  • lemma.run_id
  • lemma.is_experiment
  • lemma.thread_id (when thread_id is passed at invocation time)
from uselemma_tracing import TraceContext, wrap_agent

def my_agent(ctx: TraceContext, user_message: str):
    result = do_work(user_message)
    ctx.on_complete(result)
    return result

wrapped = wrap_agent("my-agent", my_agent)
result, run_id, span = wrapped(
    "hello",
    {"thread_id": "thread_123", "is_experiment": False},
)

Export Behavior

  • Spans are exported in run-specific batches keyed by lemma.run_id.
  • A run batch is exported when its top-level ai.agent.run span ends.
  • force_flush() exports remaining runs in separate batches per run.
  • Spans with instrumentation_scope.name == "next.js" are excluded from export.

Environment Variables

Variable Description
LEMMA_API_KEY Your Lemma API key
LEMMA_PROJECT_ID Your Lemma project ID

Both are required unless passed explicitly to register_otel().

Documentation

License

MIT

Project details


Download files

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

Source Distribution

uselemma_tracing-3.0.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

uselemma_tracing-3.0.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file uselemma_tracing-3.0.0.tar.gz.

File metadata

  • Download URL: uselemma_tracing-3.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uselemma_tracing-3.0.0.tar.gz
Algorithm Hash digest
SHA256 43ce4bb888335e4a388f7342c6de4e7a87a6c445d21d6ad17922ac1c39f3f98e
MD5 5042b628aaa3dafd07e7a85cc062599d
BLAKE2b-256 7c3adc6dec1ae09dfc413edf8ac8d5f3de2aba00642736caa411f0b6b9a09b9e

See more details on using hashes here.

File details

Details for the file uselemma_tracing-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: uselemma_tracing-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uselemma_tracing-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 880f0eea24c8081d0e5edf755bc881f98a54a2d086d4a68c57db29563aeae8c2
MD5 fd3fe9b7f61ce29f3649d89c781fec29
BLAKE2b-256 496bbf7feb065735d7cf732342e8f9dfa76deb5c5b3b789c226c0b1df1c5b90a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page