Jaeger: Add references to trace view UI (#92607)

* Jaeger: Add references to trace view UI

* Fixes

* Fix tests

---------

Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
This commit is contained in:
Vitaly Orlov 2024-09-24 12:38:13 +02:00 committed by GitHub
parent 764ec264c8
commit 4e93e2c7f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 1 deletions

View File

@ -24,6 +24,7 @@ export function createTraceFrame(data: TraceResponse): DataFrame {
{ name: 'startTime', type: FieldType.number },
{ name: 'duration', type: FieldType.number },
{ name: 'logs', type: FieldType.other },
{ name: 'references', type: FieldType.other, values: [] },
{ name: 'tags', type: FieldType.other },
{ name: 'warnings', type: FieldType.other },
{ name: 'stackTraces', type: FieldType.other },
@ -44,10 +45,12 @@ export function createTraceFrame(data: TraceResponse): DataFrame {
}
function toSpanRow(span: Span, processes: Record<string, TraceProcess>): TraceSpanRow {
const parentSpanID = span.references?.find((r) => r.refType === 'CHILD_OF')?.spanID;
return {
spanID: span.spanID,
traceID: span.traceID,
parentSpanID: span.references?.find((r) => r.refType === 'CHILD_OF')?.spanID,
parentSpanID: parentSpanID,
operationName: span.operationName,
// from micro to millis
startTime: span.startTime / 1000,
@ -59,6 +62,7 @@ function toSpanRow(span: Span, processes: Record<string, TraceProcess>): TraceSp
tags: span.tags,
warnings: span.warnings ?? undefined,
stackTraces: span.stackTraces,
references: span.references?.filter((r) => r.spanID !== parentSpanID) ?? [], // parentSpanID is pushed to references in the transformTraceDataFrame method
serviceName: processes[span.processID].serviceName,
serviceTags: processes[span.processID].tags,
};

View File

@ -76,6 +76,7 @@ export const testResponseDataFrameFields = toVectors([
{ name: 'startTime', values: [1605873894680.409, 1605873894680.587] },
{ name: 'duration', values: [1049.141, 1.847] },
{ name: 'logs', values: [[], []] },
{ name: 'references', values: [[], []] },
{
name: 'tags',
values: [