perf: optimize persist-delta snapshot reuse and diagnostics

This commit is contained in:
Youzini-afk
2026-04-13 18:21:07 +08:00
parent d7460f1618
commit e4ab3ac41d
8 changed files with 965 additions and 121 deletions

View File

@@ -8044,6 +8044,12 @@ function _renderPersistDeltaTraceCard(state) {
const payloadCharsText = diagnostics.combinedSerializedChars
? `${Number(diagnostics.combinedSerializedChars || 0)} / ${Number(diagnostics.minCombinedSerializedChars || 0)}`
: "—";
const cacheText = `${Number(diagnostics.serializationCacheHits || 0)}H / ${Number(
diagnostics.serializationCacheMisses || 0,
)}M`;
const preparedSetCacheText = `${Number(
diagnostics.preparedRecordSetCacheHits || 0,
)}H / ${Number(diagnostics.preparedRecordSetCacheMisses || 0)}M`;
return `
<div class="bme-config-card-head">
@@ -8090,6 +8096,28 @@ function _renderPersistDeltaTraceCard(state) {
<span>构建耗时</span>
<strong>${_escHtml(_formatDurationMs(diagnostics.buildMs))}</strong>
</div>
<div class="bme-ai-monitor-kv__row">
<span>Prepare / Native</span>
<strong>${_escHtml(
`${_formatDurationMs(diagnostics.prepareMs)} / ${_formatDurationMs(diagnostics.nativeAttemptMs)}`,
)}</strong>
</div>
<div class="bme-ai-monitor-kv__row">
<span>Lookup / JS Diff</span>
<strong>${_escHtml(
`${_formatDurationMs(diagnostics.lookupMs)} / ${_formatDurationMs(diagnostics.jsDiffMs)}`,
)}</strong>
</div>
<div class="bme-ai-monitor-kv__row">
<span>Hydrate / Cache</span>
<strong>${_escHtml(
`${_formatDurationMs(diagnostics.hydrateMs)} / ${cacheText}`,
)}</strong>
</div>
<div class="bme-ai-monitor-kv__row">
<span>PreparedSet Cache</span>
<strong>${_escHtml(preparedSetCacheText)}</strong>
</div>
<div class="bme-ai-monitor-kv__row">
<span>Preload</span>
<strong>${_escHtml(String(diagnostics.preloadStatus || "—"))}</strong>