fix: surface OTel and sentinel visibility gaps
This commit is contained in:
@@ -613,6 +613,8 @@ export function renderDiagnoseCodeAgentTable(input: {
|
||||
const projectionLag = asPlainRecord(input.result.projectionLag);
|
||||
const summary = asPlainRecord(input.result.summary);
|
||||
const evidence = asPlainRecord(input.result.evidence);
|
||||
const observabilityGap = asPlainRecord(input.result.observabilityGap);
|
||||
const servicePath = asPlainRecord(input.result.servicePath);
|
||||
const rootCauses = asArray(input.result.rootCauseCandidates).map((item) => asPlainRecord(item) ?? {});
|
||||
const http = asPlainRecord(input.result.http);
|
||||
const services = joinValues(input.result.services, 54);
|
||||
@@ -633,6 +635,14 @@ export function renderDiagnoseCodeAgentTable(input: {
|
||||
shortenEnd(textValue(candidate.summary ?? candidate.label), 80),
|
||||
]);
|
||||
const httpRows = httpTableRows(http);
|
||||
const expectedServices = asArray(observabilityGap?.expectedServices).map((item) => textValue(item)).filter((item) => item !== "-");
|
||||
const seenServices = new Set(asArray(observabilityGap?.seenServices).map((item) => textValue(item)).filter((item) => item !== "-"));
|
||||
const missingServices = new Set(asArray(observabilityGap?.missingServices).map((item) => textValue(item)).filter((item) => item !== "-"));
|
||||
const serviceRows = expectedServices.map((service) => [
|
||||
service,
|
||||
textValue(servicePath?.[service] ?? (missingServices.has(service) ? "missing" : seenServices.has(service) ? "reached" : "-")),
|
||||
missingServices.has(service) ? "missing" : seenServices.has(service) ? "seen" : "-",
|
||||
]);
|
||||
const queryClauses = asArray(input.query.queryClauses).map((item) => textValue(item)).filter((item) => item !== "-");
|
||||
const requestedRunId = textValue(input.query.runId);
|
||||
const requestedCommandId = textValue(input.query.commandId);
|
||||
@@ -658,6 +668,10 @@ export function renderDiagnoseCodeAgentTable(input: {
|
||||
"Root causes:",
|
||||
formatTable(["CODE", "CONF", "SUMMARY"], rootRows.length > 0 ? rootRows : [["-", "-", "-"]]),
|
||||
"",
|
||||
"Service trace coverage:",
|
||||
formatTable(["SERVICE", "PATH", "SPAN"], serviceRows.length > 0 ? serviceRows : [["-", "-", "-"]]),
|
||||
` observabilityGap=${textValue(observabilityGap?.status)} missing=${joinValues(observabilityGap?.missingServices, 60)} seen=${joinValues(observabilityGap?.seenServices, 80)}`,
|
||||
"",
|
||||
"HTTP:",
|
||||
formatTable(["METHOD", "ROUTE", "STATUS", "COUNT"], httpRows.length > 0 ? httpRows : [["-", "-", "-", "-"]]),
|
||||
"",
|
||||
|
||||
Reference in New Issue
Block a user