From c574fc31d980c1b79daf56f0e62bdd5402c0b7e1 Mon Sep 17 00:00:00 2001 From: SagarRajput-7 Date: Wed, 28 May 2025 14:24:49 +0530 Subject: [PATCH] feat: handle unkown metric in panel query --- .../src/constants/queryBuilderOperators.ts | 76 +++++++++++++++++++ .../queryBuilder/useQueryBuilderOperations.ts | 3 +- .../getMetricsOperatorsByAttributeType.ts | 10 ++- 3 files changed, 87 insertions(+), 2 deletions(-) diff --git a/frontend/src/constants/queryBuilderOperators.ts b/frontend/src/constants/queryBuilderOperators.ts index 581d517875..608ae718cb 100644 --- a/frontend/src/constants/queryBuilderOperators.ts +++ b/frontend/src/constants/queryBuilderOperators.ts @@ -425,3 +425,79 @@ export const metricsEmptyTimeAggregateOperatorOptions: SelectOption< string, string >[] = []; + +export const metricsUnknownTimeAggregateOperatorOptions: SelectOption< + string, + string +>[] = [ + { + value: MetricAggregateOperator.MAX, + label: 'Max', + }, + { + value: MetricAggregateOperator.MIN, + label: 'Min', + }, + { + value: MetricAggregateOperator.SUM, + label: 'Sum', + }, + { + value: MetricAggregateOperator.AVG, + label: 'Avg', + }, + { + value: MetricAggregateOperator.COUNT, + label: 'Count', + }, + { + value: MetricAggregateOperator.RATE, + label: 'Rate', + }, + { + value: MetricAggregateOperator.INCREASE, + label: 'Increase', + }, +]; + +export const metricsUnknownSpaceAggregateOperatorOptions: 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..bc29d902f1 100644 --- a/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts +++ b/frontend/src/hooks/queryBuilder/useQueryBuilderOperations.ts @@ -12,6 +12,7 @@ import { metricsGaugeSpaceAggregateOperatorOptions, metricsHistogramSpaceAggregateOperatorOptions, metricsSumSpaceAggregateOperatorOptions, + metricsUnknownSpaceAggregateOperatorOptions, } from 'constants/queryBuilderOperators'; import { listViewInitialLogQuery, @@ -168,7 +169,7 @@ export const useQueryOperations: UseQueryOperations = ({ setSpaceAggregationOptions(metricsHistogramSpaceAggregateOperatorOptions); break; default: - setSpaceAggregationOptions(metricsGaugeSpaceAggregateOperatorOptions); + setSpaceAggregationOptions(metricsUnknownSpaceAggregateOperatorOptions); break; } diff --git a/frontend/src/lib/newQueryBuilder/getMetricsOperatorsByAttributeType.ts b/frontend/src/lib/newQueryBuilder/getMetricsOperatorsByAttributeType.ts index 79e110e084..add80602a6 100644 --- a/frontend/src/lib/newQueryBuilder/getMetricsOperatorsByAttributeType.ts +++ b/frontend/src/lib/newQueryBuilder/getMetricsOperatorsByAttributeType.ts @@ -3,7 +3,11 @@ import { metricsOperatorsByType, PANEL_TYPES, } from 'constants/queryBuilder'; -import { metricsEmptyTimeAggregateOperatorOptions } from 'constants/queryBuilderOperators'; +import { + metricsEmptyTimeAggregateOperatorOptions, + metricsUnknownTimeAggregateOperatorOptions, +} from 'constants/queryBuilderOperators'; +import { isEmpty } from 'lodash-es'; import { DataSource } from 'types/common/queryBuilder'; import { SelectOption } from 'types/common/select'; @@ -27,5 +31,9 @@ export const getMetricsOperatorsByAttributeType = ({ } } + if (dataSource === DataSource.METRICS && isEmpty(aggregateAttributeType)) { + return metricsUnknownTimeAggregateOperatorOptions; + } + return metricsEmptyTimeAggregateOperatorOptions; };