You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
- Runner code is under `lb_runner/`; controller under `lb_controller/`; app-layer API under `lb_app/`; UI under `lb_ui/`.
6
6
- Reporting and post-processing live under `lb_analytics/`; shared utilities in `lb_common/`; provisioning helpers in `lb_provisioner/`.
7
7
- Use the stable APIs from `lb_runner.api`, `lb_controller.api`, and `lb_app.api` instead of importing deep modules.
8
-
- Collectors sit in `lb_runner/metric_collectors/` (PSUtil, CLI, perf, eBPF) and workload plugins in `lb_runner/plugins/` (stress-ng, dd, fio, hpl), each with base abstractions plus concrete implementations.
8
+
- Collectors sit in `lb_runner/metric_collectors/` (PSUtil, CLI, perf, eBPF) and workload plugins in `lb_plugins/plugins/` (stress-ng, dd, fio, hpl), each with base abstractions plus concrete implementations.
9
9
- Tests are under `tests/`; sample usage is in `example.py`. Output artifacts are written to `benchmark_results/`, `reports/`, and `data_exports/` (these may be absent until generated).
Copy file name to clipboardExpand all lines: docs/ctrl_c_design.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Thread and Component Model
4
4
5
-
-**UI/main thread** drives the dashboard and installs a `SigintDoublePressHandler` through `lb_app.services.run_service.RunService`. It never exits on the first Ctrl+C while the controller thread is active; instead it posts notifications to a queue that the main loop drains.
5
+
-**UI/main thread** drives the dashboard and installs a `SigintDoublePressHandler` through `lb_app.api.RunService`. It never exits on the first Ctrl+C while the controller thread is active; instead it posts notifications to a queue that the main loop drains.
6
6
-**Controller worker thread** (`ControllerRunner`) owns orchestration and transitions a shared `ControllerStateMachine`.
7
7
-**AnsibleRunnerExecutor** executes playbooks in subprocesses and exposes `interrupt()` + `is_running` for safe cancellation.
8
8
-**lb_runner** emits progress/stop events; the controller consumes them for stop confirmation.
Copy file name to clipboardExpand all lines: docs/ctrl_c_stop_flow.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
10
10
- Ansible subprocesses now run in their own session (`start_new_session=True`). A Ctrl+C in the UI no longer auto-terminates Ansible; the controller remains in charge.
11
11
-`AnsibleRunnerExecutor.interrupt()` is idempotent and clears active process metadata; `is_running` reports in-flight state for diagnostics.
12
-
-`lb_app.services.run_service.RunService` installs a double Ctrl+C handler:
12
+
-`lb_app.api.RunService` installs a double Ctrl+C handler:
13
13
- 1st Ctrl+C: logs a warning (\"Press Ctrl+C again to stop the execution\"), no stop is issued.
14
14
- 2nd Ctrl+C: arms a stop via the controller's `StopToken`/state machine; the UI stays alive.
15
15
- Further Ctrl+C while stopping are ignored; termination remains controller-driven.
0 commit comments