- D3.js force-directed graph for real-time mesh visualization - WebSocket server (mesh-viz-bridge crate) for live updates - Demo mode with simulated topology - JSONL file upload for offline analysis - Optional viz logging in mesh_node forwarding
8 lines
825 B
JSON
8 lines
825 B
JSON
{"type":"snapshot","nodes":[{"id":"relay-a","label":"relay-a","status":"active","latency_ms":14},{"id":"relay-b","label":"relay-b","status":"active","latency_ms":21},{"id":"edge-c","label":"edge-c","status":"idle","latency_ms":48}],"links":[{"source":"relay-a","target":"relay-b"},{"source":"relay-b","target":"edge-c"}]}
|
|
{"type":"hop","from":"relay-a","to":"relay-b","ms":18}
|
|
{"type":"hop","from":"relay-b","to":"edge-c","ms":33}
|
|
{"type":"node_status","id":"edge-c","status":"error","latency_ms":500}
|
|
{"type":"node_status","id":"edge-c","status":"idle","latency_ms":55}
|
|
{"type":"node_leave","id":"edge-c"}
|
|
{"type":"snapshot","nodes":[{"id":"relay-a","label":"relay-a","status":"active","latency_ms":14},{"id":"relay-b","label":"relay-b","status":"active","latency_ms":21}],"links":[{"source":"relay-a","target":"relay-b"}]}
|