fix: 强化 Workbench Kafka 重放探针
This commit is contained in:
@@ -41,6 +41,7 @@ function renderWebObserveStatusTable(value: Record<string, unknown>): string {
|
||||
const exactResult = record(exactCommand?.result);
|
||||
const exactError = record(exactCommand?.error);
|
||||
const exactErrorDetails = record(exactError?.details);
|
||||
const exactReplayEvidence = exactResult ?? exactErrorDetails;
|
||||
const tails = record(observer?.tails);
|
||||
const result = record(value.result);
|
||||
const samples = Array.isArray(tails?.samples) ? tails.samples.map(record).filter((item): item is Record<string, unknown> => item !== null).slice(-5) : [];
|
||||
@@ -175,17 +176,12 @@ function renderWebObserveStatusTable(value: Record<string, unknown>): string {
|
||||
]]),
|
||||
"",
|
||||
] : []),
|
||||
...(exactCommand.type === "validateWorkbenchKafkaDebugReplay" && exactResult !== null ? [
|
||||
"Workbench Kafka debug replay:",
|
||||
webObserveTable(["TRACE", "TOPIC", "GROUP", "RECEIVED", "APPLIED", "TERMINAL", "SCREENSHOT_SHA"], [[
|
||||
webObserveShort(webObserveText(exactResult.traceId), 28),
|
||||
webObserveShort(webObserveText(exactResult.topic), 32),
|
||||
webObserveShort(webObserveText(exactResult.groupId), 48),
|
||||
exactResult.receivedCount,
|
||||
exactResult.appliedCount,
|
||||
exactResult.terminalStatus,
|
||||
webObserveShort(webObserveText(record(exactResult.screenshot)?.sha256), 32),
|
||||
]]),
|
||||
...(exactCommand.type === "validateWorkbenchKafkaDebugReplay" && exactReplayEvidence !== null ? [
|
||||
...renderWorkbenchKafkaDebugReplayEvidence(
|
||||
exactReplayEvidence,
|
||||
exactResult?.reportSha256 ?? exactErrorDetails?.reportSha256,
|
||||
record(exactResult?.screenshot)?.sha256,
|
||||
),
|
||||
"",
|
||||
] : []),
|
||||
"Recent samples:",
|
||||
@@ -232,6 +228,58 @@ function renderWebObserveStatusTable(value: Record<string, unknown>): string {
|
||||
return lines.join("\n");
|
||||
}
|
||||
|
||||
function renderWorkbenchKafkaDebugReplayEvidence(
|
||||
evidence: Record<string, unknown>,
|
||||
reportSha: unknown,
|
||||
screenshotSha: unknown,
|
||||
): string[] {
|
||||
const layers = record(evidence.layerCounts);
|
||||
const server = record(layers?.server);
|
||||
const client = record(layers?.client);
|
||||
const trace = record(evidence.traceTimeline);
|
||||
const raw = record(evidence.rawHwlabEventWindow);
|
||||
const rawCounts = record(raw?.counts);
|
||||
return [
|
||||
"Workbench Kafka debug replay:",
|
||||
webObserveTable(["TRACE", "TOPIC", "GROUP", "PHASE", "CODE", "RECEIVED", "APPLIED", "TERMINAL", "REPORT_SHA", "SCREENSHOT_SHA"], [[
|
||||
webObserveShort(webObserveText(evidence.traceId), 28),
|
||||
webObserveShort(webObserveText(evidence.topic), 32),
|
||||
webObserveShort(webObserveText(evidence.groupId), 48),
|
||||
evidence.phase,
|
||||
evidence.code,
|
||||
evidence.receivedCount,
|
||||
evidence.appliedCount,
|
||||
evidence.terminalStatus,
|
||||
webObserveShort(webObserveText(reportSha), 32),
|
||||
webObserveShort(webObserveText(screenshotSha), 32),
|
||||
]]),
|
||||
"Replay layers:",
|
||||
webObserveTable(["SERVER_SCANNED", "SERVER_MATCHED", "SERVER_DELIVERED", "CLIENT_RECEIVED", "CLIENT_DECODED", "CLIENT_APPLIED"], [[
|
||||
server?.scanned,
|
||||
server?.matched,
|
||||
server?.delivered,
|
||||
client?.received,
|
||||
client?.decoded,
|
||||
client?.applied,
|
||||
]]),
|
||||
"Trace and raw HWLAB Event:",
|
||||
webObserveTable(["AUTHORITY", "SOURCE_ROWS", "READABLE_ROWS", "RAW_AVAILABLE", "SAME_PAGE", "UNFILTERED", "RAW_RECEIVED", "RAW_RETAINED", "RAW_REJECTED", "RAW_EVICTED", "RAW_BYTES", "EXTRA_PRODUCT_SSE"], [[
|
||||
trace?.contract,
|
||||
trace?.sourceAuthorityRowCount,
|
||||
trace?.readableSourceRowCount,
|
||||
raw?.available,
|
||||
raw?.samePage,
|
||||
raw?.unfilteredContractPresent,
|
||||
rawCounts?.received,
|
||||
rawCounts?.retained,
|
||||
rawCounts?.rejected,
|
||||
rawCounts?.evicted,
|
||||
rawCounts?.bytes,
|
||||
raw?.productEventSourceRequestCount,
|
||||
]]),
|
||||
];
|
||||
}
|
||||
|
||||
function renderWebObserveCommandTable(value: Record<string, unknown>): string {
|
||||
const observerCommand = record(value.observerCommand);
|
||||
const observer = record(value.observer);
|
||||
@@ -241,6 +289,7 @@ function renderWebObserveCommandTable(value: Record<string, unknown>): string {
|
||||
const resultScreenshot = record(result?.screenshot);
|
||||
const error = record(observer?.error);
|
||||
const details = record(error?.details);
|
||||
const replayEvidence = result ?? details;
|
||||
const rawReadiness = record(error?.navigationReadiness) ?? record(details?.readiness) ?? record(details?.readinessAfterWait) ?? record(details?.readinessBeforeClick);
|
||||
const readiness = record(rawReadiness?.snapshot) ?? rawReadiness;
|
||||
const id = webObserveText(value.id);
|
||||
@@ -259,19 +308,13 @@ function renderWebObserveCommandTable(value: Record<string, unknown>): string {
|
||||
webObserveShort(webObserveText(asyncTurn?.traceId), 24),
|
||||
webObserveShort(webObserveText(result?.mark ?? result?.currentUrl ?? observer?.error ?? observer?.queued), 80),
|
||||
]]),
|
||||
...(observerCommand?.type === "validateWorkbenchKafkaDebugReplay" && result !== null ? [
|
||||
...(observerCommand?.type === "validateWorkbenchKafkaDebugReplay" && replayEvidence !== null ? [
|
||||
"",
|
||||
"Workbench Kafka debug replay:",
|
||||
webObserveTable(["TRACE", "TOPIC", "GROUP", "RECEIVED", "APPLIED", "TERMINAL", "REPORT_SHA", "SCREENSHOT_SHA"], [[
|
||||
webObserveShort(webObserveText(result.traceId), 28),
|
||||
webObserveShort(webObserveText(result.topic), 32),
|
||||
webObserveShort(webObserveText(result.groupId), 48),
|
||||
result.receivedCount,
|
||||
result.appliedCount,
|
||||
result.terminalStatus,
|
||||
webObserveShort(webObserveText(result.reportSha256), 32),
|
||||
webObserveShort(webObserveText(resultScreenshot?.sha256), 32),
|
||||
]]),
|
||||
...renderWorkbenchKafkaDebugReplayEvidence(
|
||||
replayEvidence,
|
||||
result?.reportSha256 ?? details?.reportSha256,
|
||||
resultScreenshot?.sha256,
|
||||
),
|
||||
] : []),
|
||||
...(readiness !== null ? [
|
||||
"",
|
||||
|
||||
Reference in New Issue
Block a user