---
title: OpenLLMetry (Traceloop)
description: Use the OpenLLMetry (Traceloop) SDK to auto-instrument OpenAI calls and send GenAI spans to Coralogix AI Center.
url: https://coralogix.com/docs/user-guides/ai/otel-integration/code-examples/openllmetry/
product: ai
feature: AI App Catalog
feature_id: ai-app-catalog
feature_identifier: ai/ai-app-catalog
last_updated: '2026-10-27'
---

# OpenLLMetry (Traceloop): Python

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

Before you start

This example exports to a local OpenTelemetry Collector over OTLP/HTTP on port 4318: with an `http://` URL, the Traceloop SDK sends over HTTP and adds `/v1/traces` itself. Deploy the collector first. See [Code examples → Deploy an OpenTelemetry Collector](https://coralogix.com/docs/user-guides/ai/otel-integration/code-examples.md#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

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

## Environment variables

```
export OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"

export TRACELOOP_BASE_URL="http://<COLLECTOR_HOST>:4318"

export TRACELOOP_TRACE_CONTENT="true"

export OTEL_RESOURCE_ATTRIBUTES="cx.application.name=my-genai-app,cx.subsystem.name=my-service"
```

## Script

```
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.md).
