fix: improve observability code agent diagnosis
This commit is contained in:
@@ -209,12 +209,13 @@ function diagnoseTraceSearchFilters(options: DiagnoseCodeAgentOptions): string[]
|
||||
if (options.businessTraceId !== null) filters.push(`.traceId = ${JSON.stringify(options.businessTraceId)}`);
|
||||
if (options.runId !== null) filters.push(`.runId = ${JSON.stringify(options.runId)}`);
|
||||
if (options.commandId !== null) filters.push(`.commandId = ${JSON.stringify(options.commandId)}`);
|
||||
if (options.sessionId !== null) filters.push(`.sessionId = ${JSON.stringify(options.sessionId)}`);
|
||||
if (options.runnerJobId !== null) filters.push(`.runnerJobId = ${JSON.stringify(options.runnerJobId)}`);
|
||||
return filters;
|
||||
}
|
||||
|
||||
function diagnoseTraceSearchMode(options: DiagnoseCodeAgentOptions): string {
|
||||
if (options.businessTraceId !== null && options.runId === null && options.commandId === null && options.runnerJobId === null) return "business-trace-id";
|
||||
if (options.businessTraceId !== null && options.runId === null && options.commandId === null && options.sessionId === null && options.runnerJobId === null) return "business-trace-id";
|
||||
return "trace-attribute-query";
|
||||
}
|
||||
|
||||
@@ -245,9 +246,11 @@ export async function diagnoseCodeAgent(config: UniDeskConfig, options: Diagnose
|
||||
traceId: options.traceId,
|
||||
runId: options.runId,
|
||||
commandId: options.commandId,
|
||||
sessionId: options.sessionId,
|
||||
runnerJobId: options.runnerJobId,
|
||||
mode: diagnoseTraceSearchMode(options),
|
||||
tempoQuery,
|
||||
queryClauses: searchFilters,
|
||||
path: searchPath,
|
||||
lookbackMinutes: options.lookbackMinutes,
|
||||
candidateLimit: options.candidateLimit,
|
||||
@@ -630,6 +633,15 @@ export function renderDiagnoseCodeAgentTable(input: {
|
||||
shortenEnd(textValue(candidate.summary ?? candidate.label), 80),
|
||||
]);
|
||||
const httpRows = httpTableRows(http);
|
||||
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);
|
||||
const requestedSessionId = textValue(input.query.sessionId);
|
||||
const requestedRunnerJobId = textValue(input.query.runnerJobId);
|
||||
const observedRunId = textValue(identity?.runId);
|
||||
const observedCommandId = textValue(identity?.commandId);
|
||||
const observedSessionId = textValue(identity?.sessionId);
|
||||
const observedRunnerJobId = textValue(identity?.runnerJobId);
|
||||
const lines = [
|
||||
`platform-infra observability diagnose-code-agent (${input.ok ? "ok" : "not-ok"})`,
|
||||
"",
|
||||
@@ -637,8 +649,10 @@ export function renderDiagnoseCodeAgentTable(input: {
|
||||
"",
|
||||
"Identity:",
|
||||
` businessTraceId=${textValue(mapping?.businessTraceId ?? input.query.businessTraceId)} otelTraceId=${traceId}`,
|
||||
` queryMode=${textValue(mapping?.mode ?? input.query.mode)} tempoQuery=${shortenMiddle(textValue(mapping?.searchQuery ?? input.query.tempoQuery), 80)}`,
|
||||
` runId=${textValue(identity?.runId)} commandId=${textValue(identity?.commandId)} runnerJobId=${textValue(identity?.runnerJobId)} runnerId=${textValue(identity?.runnerId)}`,
|
||||
` queryMode=${textValue(mapping?.mode ?? input.query.mode)} tempoQuery=${shortenEnd(textValue(mapping?.searchQuery ?? input.query.tempoQuery), 180)}`,
|
||||
` queryClauses=${queryClauses.length > 0 ? queryClauses.join(" ; ") : "-"}`,
|
||||
` requested runId=${requestedRunId} commandId=${requestedCommandId} sessionId=${requestedSessionId} runnerJobId=${requestedRunnerJobId}`,
|
||||
` observed runId=${observedRunId} commandId=${observedCommandId} sessionId=${observedSessionId} runnerJobId=${observedRunnerJobId} runnerId=${textValue(identity?.runnerId)}`,
|
||||
` backendProfile=${textValue(identity?.backendProfile)} sourceCommit=${shortenMiddle(textValue(identity?.sourceCommit), 20)}`,
|
||||
"",
|
||||
"Root causes:",
|
||||
|
||||
Reference in New Issue
Block a user