update 2026-10-05 03:34
This commit is contained in:
1 parent
ca31a4f3df
commit
45d1a42317
6 files changed
+47
-1592
No files matched your search
+26
-1
@@ -243,7 +243,7 @@
|
||||
document.getElementById('current-stage').textContent = rt.current_stage || '-';
|
||||
renderSummary(job);
|
||||
|
||||
const streamCards = Object.entries(d.streams || {}).map(([k, v]) => `
|
||||
let streamCards = Object.entries(d.streams || {}).map(([k, v]) => `
|
||||
<div class="card stat">
|
||||
<small>${k}</small>
|
||||
<div class="n">${v}</div>
|
||||
@@ -251,6 +251,31 @@
|
||||
`).join('') + `
|
||||
<div class="card stat"><small>严格稳定</small><div class="n">${d.strict_streams || 0}</div></div>`;
|
||||
streamCards += `<div class="card stat"><small>时间性观察</small><div class="n">${d.intermittent_streams || 0}</div></div>`;
|
||||
const gaps = d.channel_gaps || {};
|
||||
streamCards += `<div class="card stat"><small>频道缺口</small><div class="n">${gaps.count || 0}</div><div class="muted">${gaps.message || ''}</div></div>`;
|
||||
const survival = d.survival || {};
|
||||
const queue = d.queue_stats || {};
|
||||
const daily = d.daily || {};
|
||||
streamCards += `
|
||||
<div class="card stat"><small>正式节目单线路</small><div class="n">${d.formal_count || 0}</div></div>
|
||||
<div class="card stat"><small>24h / 48h 存活率</small><div class="n">${(survival['24'] || {}).rate || 0}% / ${(survival['48'] || {}).rate || 0}%</div></div>
|
||||
<div class="card stat"><small>待检队列</small><div class="n">${queue.pending_new || 0} / ${queue.pending_domestic || 0} / ${queue.pending_retest || 0} / ${queue.pending_unstable || 0}</div><div class="muted">新源 / 国内测速 / 复测 / 复活</div></div>
|
||||
<div class="card stat"><small>最老待检源</small><div class="n">${Number(queue.queue_age_max_hours || 0).toFixed(1)}h</div><div class="muted">24h 新增 ${queue.new_sources_last_24h || 0}</div></div>
|
||||
<div class="card stat"><small>今日新增 / 完成</small><div class="n">${daily.new || 0} / ${daily.completed || 0}</div></div>
|
||||
<div class="card stat"><small>今日失败 / 淘汰</small><div class="n">${daily.failed || 0} / ${daily.discarded || 0}</div></div>`;
|
||||
const dq = d.domain_quality || {};
|
||||
const cr = dq.circuit_states || {};
|
||||
const saved = dq.saved_unique_candidates_today || {};
|
||||
const pr = dq.probe_ratios || {};
|
||||
const sr = dq.source_effectiveness_7d || {};
|
||||
const pub = dq.discovery_to_publication_7d || {};
|
||||
const ns = dq.new_source_survival_24h || {};
|
||||
streamCards += `<div class="card stat"><small>来源有效率(7天)</small><div class="n">${sr.rate == null ? '-' : sr.rate + '%'}</div><div class="muted">${sr.effective_sources || 0} / ${sr.fetched_sources || 0} 去重来源</div></div>
|
||||
<div class="card stat"><small>发现到首次正式发布(7天)</small><div class="n">${pub.avg_hours == null ? '-' : pub.avg_hours + 'h'}</div><div class="muted">${pub.published || 0} 条有记录线路</div></div>
|
||||
<div class="card stat"><small>新源24h存活率</small><div class="n">${ns.rate == null ? '-' : ns.rate + '%'}</div><div class="muted">${ns.alive || 0} / ${ns.eligible || 0} 完整窗口</div></div>`;
|
||||
streamCards += `<div class="card stat"><small>强 / 软 / 抽样熔断</small><div class="n">${cr.hard || 0} / ${cr.soft || 0} / ${cr.half_open || 0}</div></div>
|
||||
<div class="card stat"><small>今日暂停候选(去重)</small><div class="n">${saved.fast || 0} / ${saved.domestic || 0}</div><div class="muted">快速 / 国内;非实际请求节省数</div></div>
|
||||
<div class="card stat"><small>回传 / 执行完整率</small><div class="n">${pr.return_rate || 0}% / ${pr.execution_rate || 0}%</div><div class="muted">迁移后有回执批次</div></div>`;
|
||||
document.getElementById('stream-cards').innerHTML = streamCards;
|
||||
document.getElementById('stage-list').innerHTML = renderStageList(rt.stages || {});
|
||||
document.getElementById('probe-list').innerHTML = renderProbe(d);
|
||||
|
||||
Reference in new issue
Block a user