The API starts without logging, metrics or request IDs if their imports fail, and records no reason
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- prometheus, python
- Ambito
- backend, observability, testing
Direzione di ricerca
Start with backend/app/main.py around lines 30-48, where the monitoring imports and exception handling are defined, and inspect the /health/ready endpoint. First determine which logging, metrics, and request-ID components are required outside development and test, then preserve the failed exception for optional components and expose degraded readiness. Add a test that makes each import fail and verifies whether startup stops or readiness reports degraded.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
backend/app/main.py (lines ~30-48) imports the logging setup, the Prometheus middleware and the request-ID middleware inside try: ... except Exception: _monitoring_imports_ok = False (marked # pragma: no cover). If any of those imports fails, the API starts without structured logging, metrics or request IDs, and nothing records why: the exception is discarded.
Expected: decide which of these are optional. A failure to import a required one stops startup outside development/test (as a broken module install already does); an optional one logs the exception and shows up in /health/ready as degraded. A test imports main with one of them made to fail and checks the result. Found in a code review (2026-10-06).
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 4
- Merge medio
- 5h 36m
- PR unite (30g)
- 509
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Controlvar/controlvar
-
bug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Controlvar/controlvar#1748 ·
I maintainer di solito rispondono entro 1 giorno
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionApertabug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Controlvar/controlvar#1737 ·
I maintainer di solito rispondono entro 1 giorno
-
bug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Controlvar/controlvar#1562 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
Controlvar/controlvar#1447 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Apertabug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Controlvar/controlvar#1428 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Controlvar/controlvar
Issue simili
-
[MOVIE]: Airport '77 (1977)Apertarequest-theme
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
LizardByte/ThemerrDB#9883 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Project-MONAI/MONAI#9258 ·
I maintainer di solito rispondono entro 3 giorni
-
catalog:deprecation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
surendranb/free-inference#31 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fritzprix/libr-agent#2612 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage presubmit-gate
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
gke-labs/kube-agents#5001 ·
I maintainer di solito rispondono entro 1 giorno