# OpenLLMetry (Traceloop) — Python

The most popular community instrumentation. Auto-instruments OpenAI calls with zero code changes.

Before you start

These examples export to a local OpenTelemetry Collector over OTLP/gRPC. Deploy the collector first — see [Code examples → Deploy an OpenTelemetry Collector](https://coralogix.com/docs/user-guides/ai/otel-integration/code-examples/#prerequisites-deploy-an-opentelemetry-collector).

Warning

OpenLLMetry currently uses legacy semconv (`gen_ai.prompt` / `gen_ai.completion` indexed attributes). Migration to new is tracked in [issue #3515](https://github.com/traceloop/openllmetry/issues/3515). Coralogix AI Center supports both.

## Install

```bash
pip install traceloop-sdk openai
```

## Environment variables

```bash
export OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"
export TRACELOOP_BASE_URL="http://<COLLECTOR_HOST>:4317/v1/traces"
export TRACELOOP_TRACE_CONTENT="true"
export OTEL_RESOURCE_ATTRIBUTES="cx.application.name=my-genai-app,cx.subsystem.name=my-service"
```

## Script

```python
from openai import OpenAI
from traceloop.sdk import Traceloop  # OTel: Traceloop auto-instruments OpenAI

Traceloop.init()  # OTel: reads TRACELOOP_BASE_URL, TRACELOOP_HEADERS from env

# Your app logic
client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "What is OpenTelemetry in one sentence?"},
    ],
    max_tokens=100,
)
print(response.choices[0].message.content)
```

## Expected span attributes (legacy semconv)

- `gen_ai.system` = `"openai"`
- `gen_ai.request.model` = `"gpt-4o-mini"`
- `gen_ai.usage.prompt_tokens`, `gen_ai.usage.completion_tokens`
- `gen_ai.prompt.0.role`, `gen_ai.prompt.0.content`, `gen_ai.prompt.1.role`, `gen_ai.prompt.1.content`
- `gen_ai.completion.0.role`, `gen_ai.completion.0.content`

## Next steps

Look up which open-source library to use for your provider in [Compatibility matrix](https://coralogix.com/docs/user-guides/ai/otel-integration/providers/index.md).
