github / github/copilot-cli

OTel: parallel task dispatch emits successful chat spans without response identity or usage

Aperta
#4,862 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

triage
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

Describe the bug

With metadata-only OpenTelemetry file export enabled, a prompt-mode run that dispatches two named subagents emits two chat spans that have successful status and a stop finish reason but omit all of:

  • gen_ai.response.id
  • gen_ai.response.model
  • gen_ai.usage.input_tokens
  • gen_ai.usage.output_tokens

This also occurs when the parent model is explicitly pinned, so it is not limited to --model auto.

The remaining parent and subagent chat spans in the same trace contain complete request/response model and usage fields.

Affected version

GitHub Copilot CLI 1.0.83 on macOS.

Steps to reproduce
  1. Enable the file exporter and force content capture off.
  2. Run prompt mode with streaming enabled and an explicitly pinned parent model.
  3. In one synthetic prompt, use the task tool twice with two named agent types and explicit models.
  4. Parse the resulting JSONL.

A representative trace contained one root invoke_agent, two execute_tool task spans, two nested named invoke_agent spans, and six chat spans. Every completed-response chat had the expected provider, request model, response model, response ID, and usage. Two root-level chats had request model, streaming=true, status code 0, and finish reason stop, but no response identity or usage.

Expected behavior

Each logical completed inference should contain independently reported response identity and usage when available. An abandoned, cancelled, routing, or retry attempt should not look like a successful completed chat: it should carry an explicit attempt/outcome classification or a non-success terminal status. Consumers must not synthesize gen_ai.response.model from the requested model.

Privacy

The reproduction used synthetic prompts with OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=false. No prompt, response, repository, or credential content is included here.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riproduci il trace JSONL con un’esportazione dei soli metadati e ispeziona il percorso di dispatch delle attività parallele e l’emissione dello span di chat a livello root. Il lavoro è completato quando ogni inferenza completata include l’identità della risposta e l’utilizzo quando disponibili, mentre i tentativi abbandonati o non completati non vengono registrati come chat riuscite.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
shell
Ambito
cli, observability
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.