[Feature Request / Clarification] External read-only telemetry and lifecycle observation over mw::com
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by reading score/launch_manager/src/lm_control/, the ILmControl and LmControlService definitions, and requirement comp_req__launch_man__ext_monitor_notify. Determine the intended read-only pull API and cross-process event service, then trace how the daemon exposes lifecycle and supervision state. Done means the architecture and implementation scope for both observer needs are agreed and documented.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Request / Modification Description
Objective & Architectural Clarification
We are exploring the design of an external, read-only telemetry and safety evidence collector (such as a Vehicle Evidence Logger / monitor) that observes the S-CORE Lifecycle and Health Monitoring subsystem.
Under safety guidelines, an external observer must remain strictly read-only (observing runtime state without possessing control privileges). Specifically, the observer requires:
- Active Run Target (PULL): Querying the currently active system run target (e.g.,
Startup,Running, fallback). - Process & Supervision Telemetry (PUSH): Observing real-time process lifecycle states, PIDs, alive indications, and supervision failure events (e.g. deadline violations).
Current Observations in Upstream
- Control vs Read-Only Query:
score::mw::lifecycle::ControlClientis strictly a control/write interface (ActivateRunTarget()) intended for State Management over shared memory. It lacks query APIs (e.g.,get_active_run_target()), and using a control channel for observation would violate read-only safety isolation boundaries. ILmControlvia mw::com: Inscore/launch_manager/src/lm_control/, there is a defined public interfaceILmControlwithget_active_run_target()and anmw::comservice definition (LmControlService). However, the productionlaunch_managerdaemon does not currently host anLmControlSkeletonto offer this service overmw::comat runtime.- Process Supervision Telemetry: Requirement
comp_req__launch_man__ext_monitor_notifyspecifies publishing process monitoring data (state, PID, supervision results, exit codes), but an active cross-processmw::comevent service is not currently instantiated in the daemon.
Requested Clarifications / Feature Scope
- Is the intended architectural direction for Launch Manager daemon to host
LmControlSkeletonand offerILmControl::get_active_run_target()overmw::comas the standard public pull API for external observers? - How is
comp_req__launch_man__ext_monitor_notifyintended to be exposed across process boundaries? (e.g., via aMonitorNotifyevent onLmControlServiceovermw::comor a dedicated monitoring event service?)
Expected Changes of work products
- Requirements
- Architecture
- Safety Analysis
- Security Analysis
- Detailed Design
- Implementation and Testing
- all
Impact analysis
- Functional Impact: Enables external read-only observers and monitoring tools to retrieve active run targets and subscribe to process lifecycle & supervision events via standard
mw::comIPC without needing write privileges. - Architectural Impact: Launch Manager daemon offers an
mw::comservice skeleton (LmControlService), bridgingProcessGroupManagerruntime states and alive supervision results to external subscribers. - Backwards Compatibility: Non-breaking. Systems running without
mw::comor without external observers can continue running Launch Manager in legacy/standalone mode. - Dependencies: Uses existing S-CORE
mw::commiddleware and existingscore/launch_manager/src/lm_controlservice definitions.
Safety or Security relevance
- none
- Safety relevant
- Security relevant
Expected required ASIL classification
ASIL_B
Expected Implementation Version (Release)
1.0
- Lingua principale
- C++
- Stelle
- 6
- Fork
- 35
- Merge medio
- 2g 9h
- PR unite (30g)
- 93
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna 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 eclipse-score/lifecycle
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
eclipse-score/lifecycle#407 ·
I maintainer di solito rispondono entro 1 giorno
-
cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eclipse-score/lifecycle#375 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
eclipse-score/lifecycle#815 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 54/100
eclipse-score/lifecycle#814 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 22/100
eclipse-score/lifecycle#792 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eclipse-score/lifecycle
Issue simili
-
(S1 - Need confirmation)
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
CleverRaven/Cataclysm-DDA#89194 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
moonshine-ai/moonshine#231 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue M7: multi-node no hardware needed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
GageLawton/noise-cancellation#299 ·
I maintainer di solito rispondono entro 1 giorno