getsentry / getsentry/sentry-python

Add instrumentation for Batch API

Open
#5,814 1 comment 0 reactions 0 assignees View on GitHub
Improvement Python Spans
Dominant language
Python
Stars
2.2k
Forks
669
Avg merge
1d 1h
Merged PRs (30d)
213

Description

The OpenAI integration does not instrument the Batch API. Batch API usage is growing for cost-optimized bulk inference.

**Endpoints to instrument:**

* `openai.resources.Batches.create()` (sync + async)
* `openai.resources.Batches.retrieve()` (sync + async)
* `openai.resources.Batches.list()` (sync + async)
* `openai.resources.Batches.cancel()` (sync + async)

**Attributes to capture:**

* Batch ID
* Target endpoint (e.g. `/v1/chat/completions`)
* Batch status (validating, in_progress, completed, failed, etc.)
* Token usage from completed batches (input, output, total)
* Request/completion counts
* Follow OTel GenAI semantic conventions for span naming and attributes

**Reference:** [OpenAI integration compliance review](<../openai-integration-compliance-review.md>), Section 6

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.