fix: refresh public dashboard and BI telemetry
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# Monthly worker logging and observability gap
|
||||
|
||||
## Scope
|
||||
|
||||
Review of the logging and monitoring surfaces after user-authorized recovery of the independent monthly worker.
|
||||
|
||||
## Confirmed gaps
|
||||
|
||||
- The worker emits sparse JSON outcomes only when it is not idle; it does not emit startup, heartbeat, claim, duration or
|
||||
private exception-detail records. Detached Screen is the current process owner and is not durable application logging.
|
||||
- Web request logs go through the standard handler's stderr logger with path-only request data. The checked-in local
|
||||
runtime has no service-specific rotating log file.
|
||||
- Anonymous `/healthz` checks Web database/upload readiness only. Authenticated `monthly_ready` describes Web's manual
|
||||
monthly coordinator, not the separate worker process.
|
||||
- PostgreSQL outbox status and the daily task trace are durable and privacy-minimized, but they cannot prove the worker
|
||||
is alive. The trace also uses generic downstream wording for the monthly event.
|
||||
|
||||
## Recommendation
|
||||
|
||||
Add structured worker/Web logs with bounded retention, a durable worker heartbeat/status surface, monthly-specific task
|
||||
trace states, and supervisor/alert checks for stale heartbeat, old pending events, expired leases and dead events. Keep
|
||||
database lifecycle state authoritative and keep raw business/source payloads, secrets and full hashes out of logs.
|
||||
|
||||
No code, migration, supervisor or runtime change was made during this review.
|
||||
Reference in New Issue
Block a user