瀏覽代碼

feat: wire resource budget controls

master
Jan Svabenik 5 小時之前
父節點
當前提交
21f9a4ea83
共有 1 個文件被更改,包括 19 次插入0 次删除
  1. +19
    -0
      web/app.js

+ 19
- 0
web/app.js 查看文件

@@ -66,6 +66,10 @@ const refineAutoSpan = qs('refineAutoSpan');
const refineMinSpan = qs('refineMinSpan'); const refineMinSpan = qs('refineMinSpan');
const refineMaxSpan = qs('refineMaxSpan'); const refineMaxSpan = qs('refineMaxSpan');


const resMaxRefine = qs('resMaxRefine');
const resMaxRecord = qs('resMaxRecord');
const resMaxDecode = qs('resMaxDecode');

const signalList = qs('signalList'); const signalList = qs('signalList');
const eventList = qs('eventList'); const eventList = qs('eventList');
const recordingList = qs('recordingList'); const recordingList = qs('recordingList');
@@ -678,6 +682,9 @@ function applyConfigToUI(cfg) {
if (refineAutoSpan) refineAutoSpan.value = String(cfg.refinement?.auto_span ?? true); if (refineAutoSpan) refineAutoSpan.value = String(cfg.refinement?.auto_span ?? true);
if (refineMinSpan) refineMinSpan.value = cfg.refinement?.min_span_hz ?? 0; if (refineMinSpan) refineMinSpan.value = cfg.refinement?.min_span_hz ?? 0;
if (refineMaxSpan) refineMaxSpan.value = cfg.refinement?.max_span_hz ?? 0; if (refineMaxSpan) refineMaxSpan.value = cfg.refinement?.max_span_hz ?? 0;
if (resMaxRefine) resMaxRefine.value = cfg.resources?.max_refinement_jobs ?? 0;
if (resMaxRecord) resMaxRecord.value = cfg.resources?.max_recording_streams ?? 0;
if (resMaxDecode) resMaxDecode.value = cfg.resources?.max_decode_jobs ?? 0;
spanInput.value = (cfg.sample_rate / zoom / 1e6).toFixed(3); spanInput.value = (cfg.sample_rate / zoom / 1e6).toFixed(3);
isSyncingConfig = false; isSyncingConfig = false;
} }
@@ -1978,6 +1985,18 @@ if (refineMaxSpan) refineMaxSpan.addEventListener('change', () => {
const v = parseFloat(refineMaxSpan.value); const v = parseFloat(refineMaxSpan.value);
if (Number.isFinite(v)) queueConfigUpdate({ refinement: { max_span_hz: v } }); if (Number.isFinite(v)) queueConfigUpdate({ refinement: { max_span_hz: v } });
}); });
if (resMaxRefine) resMaxRefine.addEventListener('change', () => {
const v = parseInt(resMaxRefine.value || '0', 10);
queueConfigUpdate({ resources: { max_refinement_jobs: v } });
});
if (resMaxRecord) resMaxRecord.addEventListener('change', () => {
const v = parseInt(resMaxRecord.value || '0', 10);
queueConfigUpdate({ resources: { max_recording_streams: v } });
});
if (resMaxDecode) resMaxDecode.addEventListener('change', () => {
const v = parseInt(resMaxDecode.value || '0', 10);
queueConfigUpdate({ resources: { max_decode_jobs: v } });
});


avgSelect.addEventListener('change', () => { avgSelect.addEventListener('change', () => {
avgAlpha = parseFloat(avgSelect.value) || 0; avgAlpha = parseFloat(avgSelect.value) || 0;


Loading…
取消
儲存