From b64802ed3bd91b70edf567701e2526472424919f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Jamr=C3=B3z?= Date: Fri, 1 Dec 2023 20:26:05 +0100 Subject: [PATCH] Correlations: Add error logging (#78272) * Add error logging when parsing correlations * Make orgId optional * Add module property and move source and target to context for better readability --- public/app/features/correlations/types.ts | 1 + .../app/features/correlations/useCorrelations.ts | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/public/app/features/correlations/types.ts b/public/app/features/correlations/types.ts index 1e6ca7f1f6c..8e673beb9ff 100644 --- a/public/app/features/correlations/types.ts +++ b/public/app/features/correlations/types.ts @@ -42,6 +42,7 @@ export interface Correlation { label?: string; description?: string; provisioned: boolean; + orgId?: number; config: CorrelationConfig; } diff --git a/public/app/features/correlations/useCorrelations.ts b/public/app/features/correlations/useCorrelations.ts index d3a64a2903e..7ed2dfde644 100644 --- a/public/app/features/correlations/useCorrelations.ts +++ b/public/app/features/correlations/useCorrelations.ts @@ -2,7 +2,7 @@ import { useAsyncFn } from 'react-use'; import { lastValueFrom } from 'rxjs'; import { DataSourceInstanceSettings } from '@grafana/data'; -import { getDataSourceSrv, FetchResponse } from '@grafana/runtime'; +import { getDataSourceSrv, FetchResponse, logWarning } from '@grafana/runtime'; import { useGrafana } from 'app/core/context/GrafanaContext'; import { @@ -43,6 +43,13 @@ const toEnrichedCorrelationData = ({ const sourceDatasource = getDataSourceSrv().getInstanceSettings(sourceUID); const targetDatasource = getDataSourceSrv().getInstanceSettings(targetUID); + // According to #72258 we will remove logic to handle orgId=0/null as global correlations. + // This logging is to check if there are any customers who did not migrate existing correlations. + // See Deprecation Notice in https://github.com/grafana/grafana/pull/72258 for more details + if (correlation?.orgId === undefined || correlation?.orgId === null || correlation?.orgId === 0) { + logWarning('Invalid correlation config: Missing org id.', { module: 'Explore' }); + } + if ( sourceDatasource && sourceDatasource?.uid !== undefined && @@ -55,6 +62,11 @@ const toEnrichedCorrelationData = ({ target: targetDatasource, }; } else { + logWarning(`Invalid correlation config: Missing source or target.`, { + module: 'Explore', + source: JSON.stringify(sourceDatasource), + target: JSON.stringify(targetDatasource), + }); return undefined; } };