OBS-2 Per-RPC span + request_id correlation + auth accept/reject logging #358

Closed
opened 2026-07-31 22:40:36 +00:00 by KofTwentyTwo · 1 comment
KofTwentyTwo commented 2026-07-31 22:40:36 +00:00 (Migrated from github.com)

Tonic/tower layer: root span per RPC (request_id+method), log terminal Status, propagate id into spawned sync/outbox; log BearerAuthInterceptor accept AND reject (never token). After OBS-1. Part of the Observability-to-9/10 program. Full brief: scratchpad/design/OBS-ROADMAP.md. DoD per docs/STORY-WORKFLOW.md; gate green; no unwrap/expect/panic in non-test; SSH-signed; PR to dev.

Tonic/tower layer: root span per RPC (request_id+method), log terminal Status, propagate id into spawned sync/outbox; log BearerAuthInterceptor accept AND reject (never token). After OBS-1. Part of the Observability-to-9/10 program. Full brief: scratchpad/design/OBS-ROADMAP.md. DoD per docs/STORY-WORKFLOW.md; gate green; no unwrap/expect/panic in non-test; SSH-signed; PR to dev.
KofTwentyTwo commented 2026-07-31 23:39:03 +00:00 (Migrated from github.com)

Delivered via PR #371 (OBS-2). RpcTraceLayer (tower) mounted first on Server::builder ahead of WS-D8 limits: per-RPC span with request_id (-), logs open + terminal grpc-status + elapsed; request_id propagated into Mail.Sync->SyncDispatcher via Span::current()+.instrument(). BearerAuthInterceptor logs ACCEPT(debug)/REJECT(warn) with peer only, never token; ct_eq intact. Secret-safety grep clean; 7 tests. Follow-up gaps (noted): coalesced-sync uses owner request_id; transport-timeout logged via drop path; detached scheduled/outbox tasks not yet correlated.

Delivered via PR #371 (OBS-2). RpcTraceLayer (tower) mounted first on Server::builder ahead of WS-D8 limits: per-RPC span with request_id (<proc-start-nanos>-<atomic-counter>), logs open + terminal grpc-status + elapsed; request_id propagated into Mail.Sync->SyncDispatcher via Span::current()+.instrument(). BearerAuthInterceptor logs ACCEPT(debug)/REJECT(warn) with peer only, never token; ct_eq intact. Secret-safety grep clean; 7 tests. Follow-up gaps (noted): coalesced-sync uses owner request_id; transport-timeout logged via drop path; detached scheduled/outbox tasks not yet correlated.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/nuncio#358