From 0355772e36dc740d5be3639cc6915fc106544a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Farkas?= Date: Thu, 19 May 2022 14:26:54 +0200 Subject: [PATCH] loki: do not use backend-mode when keepCookies is used (#49222) --- public/app/plugins/datasource/loki/datasource.ts | 6 +++++- public/app/plugins/datasource/loki/types.ts | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index 81ef6e7e145..bf8f70c1a79 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -105,6 +105,7 @@ export class LokiDatasource private streams = new LiveStreams(); languageProvider: LanguageProvider; maxLines: number; + useBackendMode: boolean; constructor( private instanceSettings: DataSourceInstanceSettings, @@ -116,6 +117,9 @@ export class LokiDatasource this.languageProvider = new LanguageProvider(this); const settingsData = instanceSettings.jsonData || {}; this.maxLines = parseInt(settingsData.maxLines ?? '0', 10) || DEFAULT_MAX_LINES; + const keepCookiesUsed = (settingsData.keepCookies ?? []).length > 0; + // only use backend-mode when keep-cookies is not used + this.useBackendMode = !keepCookiesUsed && (config.featureToggles.lokiBackendMode ?? false); } _request(apiUrl: string, data?: any, options?: Partial): Observable> { @@ -168,7 +172,7 @@ export class LokiDatasource ...this.getRangeScopedVars(request.range), }; - if (config.featureToggles.lokiBackendMode) { + if (this.useBackendMode) { // we "fix" the loki queries to have `.queryType` and not have `.instant` and `.range` const fixedRequest = { ...request, diff --git a/public/app/plugins/datasource/loki/types.ts b/public/app/plugins/datasource/loki/types.ts index 39ae33dbded..345e2f23cbf 100644 --- a/public/app/plugins/datasource/loki/types.ts +++ b/public/app/plugins/datasource/loki/types.ts @@ -57,6 +57,7 @@ export interface LokiOptions extends DataSourceJsonData { maxLines?: string; derivedFields?: DerivedFieldConfig[]; alertmanager?: string; + keepCookies?: string[]; } export interface LokiStats {