From 819ce20fa495e5508d05e83f9b22b948b4139f09 Mon Sep 17 00:00:00 2001 From: "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 14:29:45 -0700 Subject: [PATCH] [Backport 2.14] Backport prometheus fix to 2.x (#1793) * Add 2.14 release notes * fix issue https://github.com/opensearch-project/dashboards-observability/issues/1665 (#1757) * Revert "Add 2.14 release notes" This reverts commit 42ac9c498bbaaf0642c064f076664c7fa15b0dda. --------- (cherry picked from commit f9a6e4924e84e154d58edc7beb7225e053cd8dcc) Signed-off-by: Simeon Widdis Signed-off-by: YANGDB Signed-off-by: github-actions[bot] Co-authored-by: github-actions[bot] Co-authored-by: YANGDB Co-authored-by: Simeon Widdis --- .../custom_panels/helpers/utils.tsx | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/public/components/custom_panels/helpers/utils.tsx b/public/components/custom_panels/helpers/utils.tsx index 79a211b3c..1a0d2c2b6 100644 --- a/public/components/custom_panels/helpers/utils.tsx +++ b/public/components/custom_panels/helpers/utils.tsx @@ -9,7 +9,7 @@ import _, { forEach, isEmpty, min } from 'lodash'; import { Moment } from 'moment-timezone'; import React from 'react'; import { Layout } from 'react-grid-layout'; -import { CoreStart } from '../../../../../../src/core/public'; +import { CoreStart, SavedObjectAttributes } from '../../../../../../src/core/public'; import { PPL_INDEX_REGEX, PPL_WHERE_CLAUSE_REGEX } from '../../../../common/constants/shared'; import { QueryManager } from '../../../../common/query_manager'; import { @@ -513,16 +513,39 @@ export const prepareMetricsData = (schema: any, dataConfig: any) => { }; }; +export const constructOtelMetricsMetaData = () => { + const otelMetricSeries: any[] = []; + const otelMetricDimension: any[] = []; + + otelMetricDimension.push({ name: 'xAxis', label: 'xAxis', customLabel: '' }); + otelMetricSeries.push({ name: '', label: '', aggregation: 'count', customLabel: '' }); + + return { + series: otelMetricSeries, + dimensions: otelMetricDimension, + span: {}, + }; +}; + +export const parseMetadataUserConfig = ( + userConfigs?: string | SavedObjectAttributes +): SavedObjectAttributes => { + if (userConfigs === undefined || userConfigs === '') { + return {}; + } else if (typeof userConfigs === 'string') { + return JSON.parse(userConfigs); + } else { + return userConfigs; + } +}; + // Renders visualization in the vizualization container component export const displayVisualization = (metaData: any, data: any, type: string) => { if (metaData === undefined || isEmpty(metaData)) { return <>; } - if (metaData.userConfigs !== undefined && metaData.userConfigs !== '') { - metaData.userConfigs = JSON.parse(metaData.userConfigs); - } - + metaData.userConfigs = parseMetadataUserConfig(metaData.userConfigs); const dataConfig = { ...(metaData.userConfigs?.dataConfig || {}) }; const hasBreakdowns = !_.isEmpty(dataConfig.breakdowns); const realTimeParsedStats = {