Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

atelet: no checkpoint timing breakdown log, so suspend has no stage attribution without OTel

Aperta Adatta ai principianti
#1,647 1 commento 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
88/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go
Ambito
observability

Direzione di ricerca

Inizia da cmd/atelet/main.go confrontando la suddivisione esistente nei log dei tempi di Restore con il percorso di checkpoint che registra le fasi del checkpoint. Usa snapshotLogAttrs con checkpointDurationMetric nel punto del checkpoint e considera completato il lavoro quando i tempi del checkpoint vengono suddivisi nei log così come quelli di Restore.

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

Descrizione

area/node area/observability good first issue kind/feature prio/P2
What is missing

recordCheckpoint feeds ate.actor.checkpoint.duration with a phase slice exactly the way recordRestore feeds ate.actor.restore.duration, but only the restore side has a log counterpart. cmd/atelet/main.go emits

slog.LogAttrs(ctx, slog.LevelInfo, "Restore timing breakdown",
    snapshotLogAttrs(attribution, op, restoreDurationMetric, outcome, phases)...)

and there is no equivalent line anywhere for checkpoint.

Why it matters

On any install where OTLP export is not wired up, or the collector is missing, or the metrics pipeline is broken, restore can still be decomposed straight out of the logs and checkpoint cannot. Suspend collapses to a single number from ate-api-server's elapsed-time with no attribution at all.

That is not hypothetical. Measuring suspend on a heavy actor recently (same run as #1646) gave a SuspendActor P50 of 2.2s, and there was no way to say from logs whether that was the sandbox checkpoint, the upload, or something else. The restore side answered the same question immediately.

It also means the two operations disagree about how debuggable they are on exactly the installs where you most need to debug them.

Suggested fix

snapshotLogAttrs already takes durationKey as a parameter, so this is one call at the checkpoint site with checkpointDurationMetric, mirroring main.go's restore site. The comment on snapshotLogAttrs already describes itself generically ("renders what recordPhases measures as a per-actor record"), so it reads as though the second caller was intended and never landed.

Small and self-contained, plausibly a good first issue.

Lingua principale
Go
Stelle
4k
Fork
473
Merge medio
2g 5h
PR unite (30g)
257

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 agent-substrate/substrate

Tutte le issue di agent-substrate/substrate

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.