[Feature Request / Clarification] External read-only telemetry and lifecycle observation over mw::com
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- C++
- Estrellas
- 6
- Forks
- 37
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 109
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eclipse-score/lifecycle
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
eclipse-score/lifecycle#929 ·
Los mantenedores suelen responder en 1 día
-
Missing scheduling conceptAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
eclipse-score/lifecycle#880 ·
Los mantenedores suelen responder en 1 día
-
Make integration tests have debug assertsPosiblemente ocupada @hskang-amelia la tomó hace 8 días. Abiertotests
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-score/lifecycle#843 ·
Los mantenedores suelen responder en 1 día
-
Move all "Default" asserts to debugPosiblemente ocupada @hskang-amelia la tomó hace 8 días. Abiertocleanup good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-score/lifecycle#842 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
eclipse-score/lifecycle#407 ·
Los mantenedores suelen responder en 1 día
Todos los issues de eclipse-score/lifecycle
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
NVIDIA-RTX/NRI#307 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100