Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

LiteLLM integration does not report cached, reasoning, or cache-write token usage

未關閉
#5,455 4 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

維護者通常 1 天內回覆

@alexander-alderman-webb 已經在處理了。

開始於 2026年2月23日。

  • #7880 來自 @4ktLuffy —— 未關閉

評估

這個 Issue 還沒有評估資料。

描述

Bug Python Spans
How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.52.0

Steps to Reproduce
  1. Initialize Sentry with the LiteLLM integration and tracing enabled
  2. Make a completion call through LiteLLM to a provider that supports prompt caching (e.g., OpenAI, Anthropic, etc.)
  3. Inspect the resulting span data in Sentry's AI Agents dashboard
Expected Result

The span should include all available token usage detail attributes, just like the OpenAI and Anthropic integrations do:

  • gen_ai.usage.input_tokens (total input tokens)
  • gen_ai.usage.input_tokens.cached (cached input tokens, subset of total)
  • gen_ai.usage.input_tokens.cache_write (cache write tokens, if available)
  • gen_ai.usage.output_tokens (total output tokens)
  • gen_ai.usage.output_tokens.reasoning (reasoning tokens, subset of total)
  • gen_ai.usage.total_tokens

This data is necessary for Sentry to correctly calculate model costs using the formula documented here:

input cost = (input_tokens - cached_tokens) x input_rate + cached_tokens x cached_rate

Without cached/reasoning token breakdown, all tokens are charged at the full standard rate, producing inaccurate cost estimates.

Actual Result

The LiteLLM integration's _success_callback only extracts three basic fields:

record_token_usage(
    span,
    input_tokens=getattr(usage, "prompt_tokens", None),
    output_tokens=getattr(usage, "completion_tokens", None),
    total_tokens=getattr(usage, "total_tokens", None),
)

The input_tokens_cached, input_tokens_cache_write, and output_tokens_reasoning parameters of record_token_usage() are never passed. Therefore, cost calculations in the AI Agents dashboard overestimate costs for cached-heavy workloads (all input tokens billed at the full rate) and misattribute output vs. reasoning token costs.

主要語言
Python
星號
2.2k
分支
682
平均合併
1 天 8 小時
30 天內合併 PR
239

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

getsentry/sentry-python 的其他 Issue

查看 getsentry/sentry-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。