From 44e7602ad2f11f78f9703ac8bd06ff827f4e4d16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Thu, 12 May 2022 08:56:09 +0200 Subject: [PATCH] loki: backend-mode: add "limit" dataframe meta attribute (#48894) --- .../loki/backendResultTransformer.test.ts | 31 +++++++++++++++++++ .../loki/backendResultTransformer.ts | 1 + 2 files changed, 32 insertions(+) diff --git a/public/app/plugins/datasource/loki/backendResultTransformer.test.ts b/public/app/plugins/datasource/loki/backendResultTransformer.test.ts index 1b713005141..098b7d276c3 100644 --- a/public/app/plugins/datasource/loki/backendResultTransformer.test.ts +++ b/public/app/plugins/datasource/loki/backendResultTransformer.test.ts @@ -91,6 +91,37 @@ describe('loki backendResultTransformer', () => { expect(result).toEqual(expected); }); + it('applies maxLines correctly', () => { + const response: DataQueryResponse = { data: [cloneDeep(inputFrame)] }; + + const frame1: DataFrame = transformBackendResult( + response, + [ + { + refId: 'A', + expr: LOKI_EXPR, + }, + ], + [] + ).data[0]; + + expect(frame1.meta?.limit).toBeUndefined(); + + const frame2 = transformBackendResult( + response, + [ + { + refId: 'A', + expr: LOKI_EXPR, + maxLines: 42, + }, + ], + [] + ).data[0]; + + expect(frame2.meta?.limit).toBe(42); + }); + it('processed derived fields correctly', () => { const input: DataFrame = { length: 1, diff --git a/public/app/plugins/datasource/loki/backendResultTransformer.ts b/public/app/plugins/datasource/loki/backendResultTransformer.ts index 93504c1caef..29c9b7a0f3b 100644 --- a/public/app/plugins/datasource/loki/backendResultTransformer.ts +++ b/public/app/plugins/datasource/loki/backendResultTransformer.ts @@ -27,6 +27,7 @@ function processStreamFrame( ): DataFrame { const meta: QueryResultMeta = { preferredVisualisationType: 'logs', + limit: query?.maxLines, searchWords: query !== undefined ? getHighlighterExpressionsFromQuery(formatQuery(query.expr)) : undefined, custom: { // used by logs_model