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
@@ -16,7 +16,6 @@ import {
import { useComputeContours } from "../../core/system/ComputeContourContext";
import {
useWorkerTelemetry,
WORKER_TELEMETRY_POLL_MILLISECONDS,
} from "../../core/system/useWorkerTelemetry";
function pipelineStateLabel(state: string): string {
@@ -30,8 +29,8 @@ export function ComputeModulesWorkspace() {
const legacyDiagnostic = selectedContour?.contour_id === "worker-006"
&& selectedContour.telemetry_mode === "legacy-ssh";
const supportsLiveTelemetry = selectedContour?.contour_id === "worker-006";
const { telemetry, loading, error, refresh } = useWorkerTelemetry(
WORKER_TELEMETRY_POLL_MILLISECONDS,
const { telemetry, error, refresh } = useWorkerTelemetry(
(selectedContour?.telemetry_poll_interval_seconds ?? 3) * 1_000,
supportsLiveTelemetry,
);
const node = telemetry?.node ?? null;
@@ -67,11 +66,11 @@ export function ComputeModulesWorkspace() {
<Button
size="compact"
variant="secondary"
disabled={loading}
disabled={!supportsLiveTelemetry}
onClick={refresh}
icon={<Icon name="refresh" size={14} />}
>
{loading ? "Читаем" : "Обновить"}
Обновить
</Button>
</div>
</section>
@@ -15,7 +15,6 @@ import {
import { useComputeContours } from "../../core/system/ComputeContourContext";
import {
useWorkerTelemetry,
WORKER_TELEMETRY_POLL_MILLISECONDS,
} from "../../core/system/useWorkerTelemetry";
export function NetworkWorkspace() {
@@ -23,8 +22,8 @@ export function NetworkWorkspace() {
const legacyDiagnostic = selectedContour?.contour_id === "worker-006"
&& selectedContour.telemetry_mode === "legacy-ssh";
const supportsLiveTelemetry = selectedContour?.contour_id === "worker-006";
const { telemetry, loading, error, refresh } = useWorkerTelemetry(
WORKER_TELEMETRY_POLL_MILLISECONDS,
const { telemetry, error, refresh } = useWorkerTelemetry(
(selectedContour?.telemetry_poll_interval_seconds ?? 3) * 1_000,
supportsLiveTelemetry,
);
const aggregate = telemetry?.network.aggregate ?? null;
@@ -54,11 +53,11 @@ export function NetworkWorkspace() {
<Button
size="compact"
variant="secondary"
disabled={loading || !supportsLiveTelemetry}
disabled={!supportsLiveTelemetry}
onClick={refresh}
icon={<Icon name="refresh" size={14} />}
>
{loading ? "Читаем" : "Обновить"}
Обновить
</Button>
</div>
</section>