From 8c4c3573517d97a90b53ced8261130f7d0074700 Mon Sep 17 00:00:00 2001 From: SagarRajput-7 <162284829+SagarRajput-7@users.noreply.github.com> Date: Fri, 28 Mar 2025 12:06:09 +0530 Subject: [PATCH] fix: added default value to time,space aggregation to fix query_range getting 500 for metric (#7414) * fix: added default value to time,space aggregation to fix query_range getting 500 for metric * fix: added all available operators as default when no attribute type is present * fix: changed operator, time and space values to avg when empty attribute type --- .../src/constants/queryBuilderOperators.ts | 42 +++++++++++++++++++ .../queryBuilder/useQueryBuilderOperations.ts | 27 ++++++------ 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/frontend/src/constants/queryBuilderOperators.ts b/frontend/src/constants/queryBuilderOperators.ts index 581d517875..db643437d7 100644 --- a/frontend/src/constants/queryBuilderOperators.ts +++ b/frontend/src/constants/queryBuilderOperators.ts @@ -425,3 +425,45 @@ export const metricsEmptyTimeAggregateOperatorOptions: SelectOption< string, string >[] = []; + +export const metricsEmptySpaceAggregateOperatorOptions: SelectOption< + string, + string +>[] = [ + { + value: MetricAggregateOperator.SUM, + label: 'Sum', + }, + { + value: MetricAggregateOperator.AVG, + label: 'Avg', + }, + { + value: MetricAggregateOperator.MIN, + label: 'Min', + }, + { + value: MetricAggregateOperator.MAX, + label: 'Max', + }, + { + value: MetricAggregateOperator.P50, + label: 'P50', + }, + { + value: MetricAggregateOperator.P75, + label: 'P75', + }, + { + value: MetricAggregateOperator.P90, + label: 'P90', + }, + { + value: MetricAggregateOperator.P95, + label: 'P95', + }, + { + value: MetricAggregateOperator.P99, + label: 'P99', + }, +]; diff --git a/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts b/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts index 6ccd811fe5..0103f09b38 100644 --- a/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts +++ b/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts @@ -9,6 +9,8 @@ import { PANEL_TYPES, } from 'constants/queryBuilder'; import { + metricAggregateOperatorOptions, + metricsEmptySpaceAggregateOperatorOptions, metricsGaugeSpaceAggregateOperatorOptions, metricsHistogramSpaceAggregateOperatorOptions, metricsSumSpaceAggregateOperatorOptions, @@ -21,6 +23,7 @@ import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder'; import { getMetricsOperatorsByAttributeType } from 'lib/newQueryBuilder/getMetricsOperatorsByAttributeType'; import { getOperatorsBySourceAndPanelType } from 'lib/newQueryBuilder/getOperatorsBySourceAndPanelType'; import { findDataTypeOfOperator } from 'lib/query/findDataTypeOfOperator'; +import { isEmpty } from 'lodash-es'; import { useCallback, useEffect, useState } from 'react'; import { BaseAutocompleteData } from 'types/api/queryBuilder/queryAutocompleteResponse'; import { @@ -145,12 +148,14 @@ export const useQueryOperations: UseQueryOperations = ({ const handleMetricAggregateAtributeTypes = useCallback( (aggregateAttribute: BaseAutocompleteData): any => { - const newOperators = getMetricsOperatorsByAttributeType({ - dataSource: DataSource.METRICS, - panelType: panelType || PANEL_TYPES.TIME_SERIES, - aggregateAttributeType: - (aggregateAttribute.type as ATTRIBUTE_TYPES) || ATTRIBUTE_TYPES.GAUGE, - }); + const newOperators = !isEmpty(aggregateAttribute.type) + ? getMetricsOperatorsByAttributeType({ + dataSource: DataSource.METRICS, + panelType: panelType || PANEL_TYPES.TIME_SERIES, + aggregateAttributeType: + (aggregateAttribute.type as ATTRIBUTE_TYPES) || ATTRIBUTE_TYPES.GAUGE, + }) + : metricAggregateOperatorOptions; switch (aggregateAttribute.type) { case ATTRIBUTE_TYPES.SUM: @@ -168,7 +173,7 @@ export const useQueryOperations: UseQueryOperations = ({ setSpaceAggregationOptions(metricsHistogramSpaceAggregateOperatorOptions); break; default: - setSpaceAggregationOptions(metricsGaugeSpaceAggregateOperatorOptions); + setSpaceAggregationOptions(metricsEmptySpaceAggregateOperatorOptions); break; } @@ -194,14 +199,12 @@ export const useQueryOperations: UseQueryOperations = ({ if (newQuery.aggregateAttribute.type === ATTRIBUTE_TYPES.SUM) { newQuery.aggregateOperator = MetricAggregateOperator.RATE; newQuery.timeAggregation = MetricAggregateOperator.RATE; - } else if (newQuery.aggregateAttribute.type === ATTRIBUTE_TYPES.GAUGE) { + newQuery.spaceAggregation = MetricAggregateOperator.SUM; + } else { newQuery.aggregateOperator = MetricAggregateOperator.AVG; newQuery.timeAggregation = MetricAggregateOperator.AVG; - } else { - newQuery.timeAggregation = ''; + newQuery.spaceAggregation = MetricAggregateOperator.AVG; } - - newQuery.spaceAggregation = ''; } handleSetQueryData(index, newQuery);