477bcd00f0
- CMakeLists.txt - agent_protocol.cpp - agent_protocol.h - app.md - appicon.ico - hosts_db.cpp - hosts_db.h - http_client.cpp - http_client.h - main.cpp - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.3 KiB
3.3 KiB
name, lang, domain, version, description, tags, icon, uses_functions, uses_types, framework, entry_point, dir_path, repo_url, e2e_checks
| name | lang | domain | version | description | tags | icon | uses_functions | uses_types | framework | entry_point | dir_path | repo_url | e2e_checks | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| process_explorer | cpp | tools | 0.1.0 | Process explorer cross-PC: CPU/RAM/disk/net/GPU + procesos en tiempo real |
|
|
|
imgui | main.cpp | apps/process_explorer | https://gitea.organic-machine.com/dataforge/process_explorer |
|
process_explorer
Process explorer cross-PC: CPU/RAM/disk/net/GPU + procesos en tiempo real.
Arquitectura
- Explorer (esta app): ImGui C++. UI con 5 panels (Overview, Processes, Network, Devices, Services).
- Agente HTTP por PC (issue 0111): daemon Go ligero instalable en cada PC (Win+Linux) que expone:
GET /api/processes— lista de procesos con CPU%/RAM/PID/usuario.GET /api/stats— snapshot global CPU/RAM/Disk/Net/GPU.GET /api/devices— discos, GPUs, USB, sensores.GET /api/services— systemctl (Linux) / sc query (Win).- Auth:
Authorization: Bearer <token>con token por PC.
- Local Linux: lectura directa de
/proc/*cuando el host es local (sin red). - Remote: SIEMPRE via HTTP agent + token.
Panels
- Overview (Ctrl+1) — KPIs globales con
kpi_card: CPU%, RAM, Disk I/O, Net I/O, GPU. Sparklines historicos vialine_plot. - Processes (Ctrl+2) — Tabla TQL (
data_table::render) con todos los procesos. Filtros, sort, group-by. - Network (Ctrl+3) — Tabla de sockets/conexiones con PID, local, remote, estado.
- Devices (Ctrl+4) — Enumeracion de discos, GPUs, USB, sensores.
- Services (Ctrl+5) — systemctl (Linux) +
sc query(Win). Diferente deservices_monitor(que monitoriza apps DECLARADAS del registry); aqui se ven TODOS.
Persistencia (local_files/)
hosts.db— inventario PCs (url, token, os, last_seen).operations.db— entities=hosts, executions=samples (bucle reactivo).process_samples.db— time-series CPU/RAM/IO para graficar ventanas >1h.
Build
cd cpp && cmake --build build --target process_explorer -j
Run
./cpp/build/apps/process_explorer/process_explorer
Notas de implementacion
- HTTP cliente: hoy stub local en
http_client.cpp. Migrar afn_http::requestcuando cierre el issue 0110. - Agente Go: issue 0111 (separado).
- Self-test:
--self-testvalida quehosts.db+samples.dbse crean enlocal_files/y que el GL loader carga.
Capability growth log
Una linea por bump SemVer. Bump-type segun .claude/commands/version.md:
-
major: breaking observable (CLI args, schema BBDD propia, formato wire). -
minor: feature aditiva (nuevo panel, endpoint, opcion). -
patch: bugfix sin cambio observable. -
v0.1.0 (2026-05-18) — baseline.