Skip to content

Graph refactor initial components - #370

Open
WilliamRoebuck wants to merge 21 commits into
eclipse-score:mainfrom
etas-contrib:feature/process-mon-refactor-1
Open

Graph refactor initial components#370
WilliamRoebuck wants to merge 21 commits into
eclipse-score:mainfrom
etas-contrib:feature/process-mon-refactor-1

Conversation

@WilliamRoebuck

Copy link
Copy Markdown
Contributor

This PR introduces some initial components required for an upcoming refactor to the Graph and ProcessInfoNode classes. Firstly, we want to introduce some components that are more easily understood and unit tested. The next PR will integrate these into existing code. Excluding interfaces and data-only classes, the new components are:

  • ComponentEventQueue - Allows us to handle component state changes sequentially in Graph
  • ProcessMonitor - Decouples ProcessInfoNode from Graph and allows us to simplify its APIs

The refactor aims to address the following concerns:

  • Race conditions throughout Graph
  • Support for different component types than POSIX processes, e.g. containers
  • Circular dependencies impeding unit test development
  • Outdated "PG state" based transition logic
  • Overlapping & confusing class responsibilities

@github-actions

github-actions Bot commented Jul 24, 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: 377a9368-a1ff-4fda-a0fc-cfa1519a8068
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: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

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

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

Analyzing: target //:license-check (89 packages loaded, 17 targets configured)

Analyzing: target //:license-check (141 packages loaded, 2425 targets configured)

Analyzing: target //:license-check (152 packages loaded, 5482 targets configured)

Analyzing: target //:license-check (153 packages loaded, 8175 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

Analyzing: target //:license-check (164 packages loaded, 8271 targets configured)

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

Analyzing: target //:license-check (167 packages loaded, 10159 targets configured)

Analyzing: target //:license-check (168 packages loaded, 10283 targets configured)

INFO: Analyzed target //:license-check (169 packages loaded, 10409 targets configured).
[9 / 16] Creating runfiles tree bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/score_tooling+/dash/tool/formatters/dash_format_converter.runfiles [for tool]; 0s local
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions running)
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
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: 26.292s, Critical Path: 2.72s
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>]

@WilliamRoebuck
WilliamRoebuck force-pushed the feature/process-mon-refactor-1 branch from fe8eca0 to 04b715d Compare July 24, 2026 15:00
@WilliamRoebuck
WilliamRoebuck force-pushed the feature/process-mon-refactor-1 branch from 04b715d to 5001193 Compare July 24, 2026 15:02
@WilliamRoebuck
WilliamRoebuck force-pushed the feature/process-mon-refactor-1 branch from 5001193 to 9c02cd9 Compare July 24, 2026 15:11
@github-actions

Copy link
Copy Markdown

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

@MaciejKaszynski MaciejKaszynski left a comment

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.

Looks good, would really like to split this into separate folders because it's a bit unclear if we are at the component level or process level.

Comment thread score/launch_manager/src/daemon/src/common/constants.hpp Outdated
Comment thread score/launch_manager/src/daemon/src/common/constants.hpp Outdated
Comment thread score/launch_manager/src/daemon/src/common/constants.hpp Outdated
Comment thread score/launch_manager/src/daemon/src/common/constants.hpp Outdated
Comment thread .clang-tidy Outdated
@danth
danth requested a deployment to workflow-approval July 27, 2026 10:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 10:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 10:54 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 10:54 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 11:00 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 11:00 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 12:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 27, 2026 12:42 — with GitHub Actions Waiting
@WilliamRoebuck
WilliamRoebuck force-pushed the feature/process-mon-refactor-1 branch from 128f839 to 2052521 Compare July 28, 2026 12:14
Comment thread score/launch_manager/src/daemon/src/process_group_manager/details/icomponent.hpp Outdated
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.

4 participants