Add `gen_ai.request.choice.count` attribute (candidate_count)

Open Beginner friendly
#5,816 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
65/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
observability

Research direction

Start in sentry_sdk/integrations/google_genai/utils.py at set_span_data_for_request(), then check sentry_sdk/consts.py to understand the existing SPANDATA.GEN_AI_CHOICE mapping. Capture candidate_count from the config only when it is present and not 1, and add a test verifying the span attribute is set.

Written by the indexing model from the issue text.

Description

Improvement Python Spans

Problem

OTel GenAI semconv conditionally requires gen_ai.request.choice.count "if available and != 1". Google's GenerateContentConfig has candidate_count but it is not captured.

Context

This attribute helps understand when users request multiple response candidates, which impacts token usage and cost.

Files

  • sentry_sdk/integrations/google_genai/utils.pyset_span_data_for_request()
  • sentry_sdk/consts.py — uses SPANDATA.GEN_AI_CHOICE which maps to gen_ai.choice

Acceptance Criteria

  • candidate_count from config is captured on the span when present and != 1
  • Test added to verify the attribute is set
Dominant language
Python
Stars
2.2k
Forks
672
Avg merge
1d 13m
Merged PRs (30d)
212

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsentry/sentry-python

All issues in getsentry/sentry-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.