diff --git a/dashboards-observability/public/components/custom_panels/helpers/utils.tsx b/dashboards-observability/public/components/custom_panels/helpers/utils.tsx index 14e1809ab..77ebdb523 100644 --- a/dashboards-observability/public/components/custom_panels/helpers/utils.tsx +++ b/dashboards-observability/public/components/custom_panels/helpers/utils.tsx @@ -125,10 +125,7 @@ const queryAccumulator = ( const pplFilterQuery = panelFilterQuery === '' ? '' : ` | ${panelFilterQuery}`; const finalQuery = indexPartOfQuery + timeQueryFilter + pplFilterQuery + filterPartOfQuery; - - return spanParam === undefined - ? finalQuery - : updateQuerySpanInterval(finalQuery, timestampField, spanParam); + return finalQuery; }; // PPL Service requestor @@ -233,6 +230,7 @@ export const renderSavedVisualization = async ( setIsError(''); let visualization = {} as SavedVisualizationType; + let updatedVisualizationQuery = ''; visualization = await fetchVisualizationById(http, savedVisualizationId, setIsError); if (_.isEmpty(visualization)) { @@ -248,11 +246,21 @@ export const renderSavedVisualization = async ( setVisualizationType(visualization.type); } - setVisualizationMetaData(visualization); + if (spanParam !== undefined) { + updatedVisualizationQuery = updateQuerySpanInterval( + visualization.query, + visualization.timeField, + spanParam + ); + } else { + updatedVisualizationQuery = visualization.query; + } + + setVisualizationMetaData({ ...visualization, query: updatedVisualizationQuery }); getQueryResponse( pplService, - visualization.query, + updatedVisualizationQuery, visualization.type, startTime, endTime, @@ -314,7 +322,15 @@ export const renderCatalogVisualization = async ( const visualizationType = 'line'; const visualizationTimeField = '@timestamp'; - const visualizationQuery = `source = ${catalogSource} | stats avg(@value) by span(${visualizationTimeField},1h)`; + let visualizationQuery = `source = ${catalogSource} | stats avg(@value) by span(${visualizationTimeField},1h)`; + + if (spanParam !== undefined) { + visualizationQuery = updateQuerySpanInterval( + visualizationQuery, + visualizationTimeField, + spanParam + ); + } const visualizationMetaData = createCatalogVisualizationMetaData( catalogSource, @@ -325,7 +341,7 @@ export const renderCatalogVisualization = async ( setVisualizationTitle(catalogSource); setVisualizationType(visualizationType); - setVisualizationMetaData(visualizationMetaData); + setVisualizationMetaData({ ...visualizationMetaData, query: visualizationQuery }); getQueryResponse( pplService, diff --git a/dashboards-observability/public/components/metrics/top_menu/metrics_export_panel.tsx b/dashboards-observability/public/components/metrics/top_menu/metrics_export_panel.tsx index 2ee75dd83..0a4993966 100644 --- a/dashboards-observability/public/components/metrics/top_menu/metrics_export_panel.tsx +++ b/dashboards-observability/public/components/metrics/top_menu/metrics_export_panel.tsx @@ -68,7 +68,6 @@ export const MetricsExportPanel = ({ : createPrometheusMetricById(metricLayout.id); }) ); - console.log('tempVisualizationsMetaData', tempVisualizationsMetaData); setVisualizationsMetaData(tempVisualizationsMetaData); }; diff --git a/dashboards-observability/public/components/metrics/top_menu/top_menu.scss b/dashboards-observability/public/components/metrics/top_menu/top_menu.scss index 66d99cc18..c69f20245 100644 --- a/dashboards-observability/public/components/metrics/top_menu/top_menu.scss +++ b/dashboards-observability/public/components/metrics/top_menu/top_menu.scss @@ -12,7 +12,7 @@ } .resolutionSelectText { - width: 100px; + width: 70px; } .search-bar-top-menu{ diff --git a/dashboards-observability/public/components/metrics/top_menu/top_menu.tsx b/dashboards-observability/public/components/metrics/top_menu/top_menu.tsx index a729689ee..6ccd14d64 100644 --- a/dashboards-observability/public/components/metrics/top_menu/top_menu.tsx +++ b/dashboards-observability/public/components/metrics/top_menu/top_menu.tsx @@ -218,6 +218,7 @@ export const TopMenu = ({ className="resolutionSelectText" prepend="Span Interval" value={spanValue} + isInvalid={spanValue < 1} onChange={(e) => setSpanValue(e.target.value)} append={