From b84bd7eb90a7943d352ad05cc6bf91b61582380c Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 15:36:29 +0100 Subject: [PATCH] [v11.0.x] Tempo: Show <1ms when durationMs not in response (#86333) Tempo: Show <1ms when durationMs not in response (#85267) * Show <1ms when durationMs not in response * Update tests (cherry picked from commit 8c770a283ebd257bff0283dd38df1c0bf7752b5a) Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com> --- public/app/plugins/datasource/tempo/resultTransformer.test.ts | 1 + public/app/plugins/datasource/tempo/resultTransformer.ts | 4 ++-- public/app/plugins/datasource/tempo/testResponse.ts | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/app/plugins/datasource/tempo/resultTransformer.test.ts b/public/app/plugins/datasource/tempo/resultTransformer.test.ts index 2f416d80ef3..0c9c4750755 100644 --- a/public/app/plugins/datasource/tempo/resultTransformer.test.ts +++ b/public/app/plugins/datasource/tempo/resultTransformer.test.ts @@ -79,6 +79,7 @@ describe('createTableFrameFromTraceQlQuery()', () => { expect(frame.fields[4].name).toBe('traceDuration'); expect(frame.fields[4].type).toBe('number'); expect(frame.fields[4].values[2]).toBe(44); + expect(frame.fields[4].values[1]).toBe('<1ms'); // Subframes field expect(frame.fields[5].name).toBe('nested'); expect(frame.fields[5].type).toBe('nestedFrames'); diff --git a/public/app/plugins/datasource/tempo/resultTransformer.ts b/public/app/plugins/datasource/tempo/resultTransformer.ts index c260b0b78c8..c32c0f203e5 100644 --- a/public/app/plugins/datasource/tempo/resultTransformer.ts +++ b/public/app/plugins/datasource/tempo/resultTransformer.ts @@ -468,7 +468,7 @@ function transformToTraceData(data: TraceSearchMetadata) { return { traceID: data.traceID, startTime: parseInt(data.startTimeUnixNano!, 10) / 1000000, - traceDuration: data.durationMs, + traceDuration: data.durationMs || '<1ms', traceService: data.rootServiceName || '', traceName: data.rootTraceName || '', }; @@ -915,7 +915,7 @@ interface TraceTableData { spanID?: string; startTime?: number; name?: string; - traceDuration?: number; + traceDuration?: number | string; } function transformSpanToTraceData(span: Span, spanSet: Spanset, trace: TraceSearchMetadata): TraceTableData { diff --git a/public/app/plugins/datasource/tempo/testResponse.ts b/public/app/plugins/datasource/tempo/testResponse.ts index 687e90b82cb..493cb97501a 100644 --- a/public/app/plugins/datasource/tempo/testResponse.ts +++ b/public/app/plugins/datasource/tempo/testResponse.ts @@ -2368,7 +2368,6 @@ export const traceQlResponse = { rootServiceName: 'lb', rootTraceName: 'HTTP Client', startTimeUnixNano: '1643342166678000000', - durationMs: 93, spanSets: [ { attributes: [