From ba7c656364367afc32305d9f4a7c01dc3a05d219 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 14 Jul 2026 20:33:02 +0200 Subject: [PATCH] node metrics --- .claude/memory/project-status.md | 5 +++ _DEV_NOTES.md | 7 +-- .../tracker/meshnet_tracker/dashboard.html | 45 ++++++++++++++++--- packages/tracker/meshnet_tracker/server.py | 26 ++++++++--- tests/test_dashboard.py | 6 +++ tests/test_tracker_routing.py | 37 +++++++++++++++ 6 files changed, 109 insertions(+), 17 deletions(-) diff --git a/.claude/memory/project-status.md b/.claude/memory/project-status.md index 3fb0fc7..adbf7e7 100644 --- a/.claude/memory/project-status.md +++ b/.claude/memory/project-status.md @@ -8,6 +8,11 @@ metadata: # Project Status (2026-07-13) +## Selected-node model placement (2026-07-14) + +- Admin Model placement now opens a node selector for load and release; the control-plane accepts optional `node_id` and targets only that registry assignment. Multi-model serving remains supported through `ADD_SHARD` and `max_loaded_shards`. +- Total node pool resource values are rendered from `/v1/network/map`'s `node.capacity` contract. Route selection remains assignment/capability/throughput/queue based; capacity is used for placement and falls back to tracker defaults only if a node truly omits it. + ## Distributed inference performance (2026-07-14) `DIP-001` is done in `.scratch/distributed-inference-performance/`: the deterministic two-node Route Session stub benchmark covers direct/relay plus cached/stateless prefill and decode. Its JSON and concise summary explicitly attribute model execution, activation encode/decode, compression, connection setup, relay queueing, local HTTP forwarding, and end-to-end seam latency. `PYTHONPATH=packages/node pytest -q tests/test_route_session_benchmark.py` passed (7); the fixture assertion checks output-token identity and connection attempts. diff --git a/_DEV_NOTES.md b/_DEV_NOTES.md index 28f7987..acb8dc4 100644 --- a/_DEV_NOTES.md +++ b/_DEV_NOTES.md @@ -16,12 +16,9 @@ .\.venv\Scripts\meshnet-node.exe start http://192.168.0.179:8081 --model-id Qwen/Qwen2.5-0.5B-Instruct --advertise-host 192.168.0.20 - .\.venv\Scripts\meshnet-node.exe start --tracker http://ai.neuron.d-popov.com --model-id Qwen/Qwen2.5-0.5B-Instruct --advertise-host 192.168.0.20 + .\.venv\Scripts\meshnet-node.exe start --tracker http://ai.neuron.d-popov.com --model Qwen/Qwen2.5-0.5B-Instruct --advertise-host 192.168.0.20 - we .\.venv\Scripts\meshnet-node.exe start ` - --tracker http://192.168.0.179:8081 ` - --model Qwen/Qwen2.5-0.5B-Instruct ` - --advertise-host 192.168.0.20 + we .\.venv\Scripts\meshnet-node.exe start --tracker http://192.168.0.179:8081 --model Qwen/Qwen2.5-0.5B-Instruct # trackers: https://meshnet.2.d-popov.com https://ai.neuron.d-popov.com diff --git a/packages/tracker/meshnet_tracker/dashboard.html b/packages/tracker/meshnet_tracker/dashboard.html index 8f4df39..279d61a 100644 --- a/packages/tracker/meshnet_tracker/dashboard.html +++ b/packages/tracker/meshnet_tracker/dashboard.html @@ -44,12 +44,15 @@ .empty { color:var(--dim); font-style:italic; } .pill { display:inline-block; padding:0 7px; border-radius:9px; border:1px solid var(--border); font-size:11px; } - input, button { font:inherit; color:var(--fg); background:var(--bg); + input, button, select { font:inherit; color:var(--fg); background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:5px 8px; } input { width:100%; margin-bottom:6px; } button { cursor:pointer; color:var(--accent); } button:hover { border-color:var(--accent); } button.small { font-size:11px; padding:1px 7px; } + dialog { color:var(--fg); background:var(--panel); border:1px solid var(--border); border-radius:8px; min-width:min(420px,calc(100vw - 32px)); } + dialog::backdrop { background:rgba(0,0,0,.55); } + .placement-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; } .form-row { display:flex; gap:8px; } .form-row button { white-space:nowrap; } .error-msg { color:var(--bad); font-size:12px; min-height:16px; } @@ -324,6 +327,14 @@
no test output yet
+ +
+
+ + +
+
+