Skip to content

Add AliveMonitorConfig header - #432

Open
paulquiring wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:alive_monitor_owns_config
Open

Add AliveMonitorConfig header#432
paulquiring wants to merge 1 commit into
eclipse-score:mainfrom
etas-contrib:alive_monitor_owns_config

Conversation

@paulquiring

@paulquiring paulquiring commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Adds temporary functionality required to copy configuration data until we can, as part of our refactoring efforts, move the configuration data to the entities intended for that purpose.

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 4854cff5-e644-4a2c-8578-57c2bf6e7b4d
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (26 packages loaded, 10 targets configured)

Analyzing: target //:license-check (87 packages loaded, 10 targets configured)

Analyzing: target //:license-check (90 packages loaded, 10 targets configured)

Analyzing: target //:license-check (150 packages loaded, 3143 targets configured)

Analyzing: target //:license-check (159 packages loaded, 6286 targets configured)

Analyzing: target //:license-check (165 packages loaded, 9348 targets configured)

Analyzing: target //:license-check (170 packages loaded, 9397 targets configured)

Analyzing: target //:license-check (170 packages loaded, 9397 targets configured)

INFO: Analyzed target //:license-check (175 packages loaded, 11535 targets configured).
[1 / 1] no actions running
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 28.281s, Critical Path: 2.54s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html


#include "score/mw/launch_manager/configuration/config.hpp"

namespace score

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we shall use score::mw::lifecycle::internal::alive here?

{
std::string name;
std::optional<score::mw::launch_manager::configuration::ComponentAliveSupervision> alive_supervision;
uid_t uid{};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to add briefs even it they are obvious. but would need a brief to why uid is needed

void SetUp() override
{
RecordProperty("TestType", "interface-test");
RecordProperty("DerivationTechnique", "explorative-testing");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
RecordProperty("DerivationTechnique", "explorative-testing");
RecordProperty("DerivationTechnique", "boundary-values");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think moving this to config component would make more sense. Could be confusing trying to find a config type in alive_moniotr

@@ -32,7 +31,9 @@ AliveMonitorImpl::AliveMonitorImpl(
SptrIRecoveryClient recovery_client,
UptrIProcessStateReceiver process_state_receiver,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think it should be && so that it is clear we are invalidating the users var

if (isSupervisedType(comp.component_properties.application_profile.application_type))
{
SupervisedComponentConfig info{};
info.name = comp.name;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the name of the component will always be alive for the lifetime of the alive supervision so we can use std::string_view here and remove a string copy.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See Description
"Adds temporary functionality required to copy configuration data until we can, as part of our refactoring efforts, move the configuration data to the entities intended for that purpose."
The copy is intentional. We need to copy because the object referenced will be moved in a later PR to the ProcessInfoNode.

}

bool PhmDaemon::construct(const Config& config, const SupervisionBufferConfig& f_bufferConfig_r) noexcept(false)
bool PhmDaemon::construct(const AliveMonitorConfig& config, const SupervisionBufferConfig& f_bufferConfig_r) noexcept(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we could further break down the config?
It seems PhmDaemon only requires the evaluation cycle, so I think we could take as && param and move it here, then somehow move the vector of config into FlatCfgFactory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants