feat(system): configure telemetry polling per contour

This commit is contained in:
DCCONSTRUCTIONS
2026-07-28 01:24:05 +03:00
parent 4a65b52f6d
commit 2ffbb51a7e
8 changed files with 68 additions and 23 deletions
@@ -17,6 +17,8 @@ test("Worker 006 telemetry remains a bounded system feature slice", async () =>
pipelineStages,
networkWorkspace,
telemetryPolling,
contourSettings,
contourContract,
telemetryStyles,
styles,
] = await Promise.all([
@@ -27,6 +29,8 @@ test("Worker 006 telemetry remains a bounded system feature slice", async () =>
read("components/system/WorkerPipelineStages.tsx"),
read("workspaces/system/NetworkWorkspace.tsx"),
read("core/system/useWorkerTelemetry.ts"),
read("components/system/ComputeContourSettingsWindow.tsx"),
read("core/system/computeContours.ts"),
read("styles/system-telemetry.css"),
read("styles.css"),
]);
@@ -41,20 +45,27 @@ test("Worker 006 telemetry remains a bounded system feature slice", async () =>
assert.match(core, /share_percent/);
assert.doesNotMatch(core, /@nodedc\/ui-react/);
assert.match(computeWorkspace, /useWorkerTelemetry/);
assert.match(computeWorkspace, /WORKER_TELEMETRY_POLL_MILLISECONDS/);
assert.match(computeWorkspace, /telemetry_poll_interval_seconds/);
assert.match(computeWorkspace, />\s*Обновить\s*</);
assert.doesNotMatch(computeWorkspace, /loading\s*\?\s*"Читаем"/);
assert.match(computeWorkspace, /WorkerPipelineStages/);
assert.match(pipelineStages, /измеренного времени/);
assert.doesNotMatch(pipelineStages, /CPU|GPU|hardware/);
assert.match(
telemetryPolling,
/WORKER_TELEMETRY_POLL_MILLISECONDS\s*=\s*3_000/,
/DEFAULT_WORKER_TELEMETRY_POLL_MILLISECONDS\s*=\s*3_000/,
);
assert.match(
telemetryStyles,
/\.worker-stage-list\s*\{[^}]*grid-template-columns:\s*repeat\(3,/s,
);
assert.match(networkWorkspace, /127\.0\.0\.1:8000/);
assert.match(networkWorkspace, /WORKER_TELEMETRY_POLL_MILLISECONDS/);
assert.match(networkWorkspace, /telemetry_poll_interval_seconds/);
assert.match(networkWorkspace, />\s*Обновить\s*</);
assert.doesNotMatch(networkWorkspace, /loading\s*\?\s*"Читаем"/);
assert.doesNotMatch(networkWorkspace, /8765/);
assert.match(contourSettings, /FieldFrame label="Операционная система"/);
assert.match(contourSettings, /label="Интервал MQTT"/);
assert.match(contourContract, /telemetry_poll_interval_seconds: number/);
assert.match(styles, /system-telemetry\.css/);
});