http.request.resend_count metric attribute subtracts 1 from 0-based attempt count

Aperta Adatta ai principianti
#6,706 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Leggi le sezioni citate di src/gax-internal/src/observability/client_signals/transport_metric.rs, quindi confronta l'attempt_count passato da http.rs e grpc_helpers.rs con il valore basato su 0 utilizzato in http_tracing.rs. Verifica che la richiesta iniziale e il primo tentativo successivo producano attributi resend_count coerenti; il lavoro è completato quando le interpretazioni della metrica e dello span concordano.

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

Descrizione

type: bug

Unconfirmed. This is the result of a search with Claude, may be a false positive.

In src/gax-internal/src/observability/client_signals/transport_metric.rs, the http.request.resend_count OpenTelemetry metric attribute is recorded with:

https://github.com/googleapis/google-cloud-rust/blob/f02b42c2ac5720334cd2b5335824bd4166264527/src/gax-internal/src/observability/client_signals/transport_metric.rs#L118-L120

https://github.com/googleapis/google-cloud-rust/blob/f02b42c2ac5720334cd2b5335824bd4166264527/src/gax-internal/src/observability/client_signals/transport_metric.rs#L172-L175

Some((attempt_count.saturating_sub(1) as i64).into())

However, the calling retry loops in http.rs and grpc_helpers.rs pass an attempt_count that is already a 0-based prior-attempt count (0 on initial request, 1 on first retry):

https://github.com/googleapis/google-cloud-rust/blob/f02b42c2ac5720334cd2b5335824bd4166264527/src/gax-internal/src/http.rs#L391-L403

https://github.com/googleapis/google-cloud-rust/blob/f02b42c2ac5720334cd2b5335824bd4166264527/src/gax-internal/src/http.rs#L488-L494

Because saturating_sub(1) is applied to an already 0-based counter, both the initial request and the first retry record resend_count = 0. The attempt span in http_tracing.rs:72-76 treats the value as 0-based, causing the span attribute and metric attribute to disagree.

Lingua principale
Rust
Stelle
972
Fork
163
Merge medio
1g 13h
PR unite (30g)
202

Preparare l'ambiente

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.

Altre issue di googleapis/google-cloud-rust

Tutte le issue di googleapis/google-cloud-rust

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.