2023-05-10 19:40:27 +03:00
|
|
|
import { BaseAutocompleteData } from 'types/api/queryBuilder/queryAutocompleteResponse';
|
|
|
|
|
import { TagFilterItem } from 'types/api/queryBuilder/queryBuilderData';
|
|
|
|
|
import { QueryBuilderData } from 'types/common/queryBuilder';
|
2022-12-06 16:52:20 +05:30
|
|
|
|
|
|
|
|
import {
|
|
|
|
|
getQueryBuilderQueries,
|
|
|
|
|
getQueryBuilderQuerieswithFormula,
|
|
|
|
|
} from './MetricsPageQueriesFactory';
|
|
|
|
|
|
|
|
|
|
export const databaseCallsRPS = ({
|
|
|
|
|
servicename,
|
|
|
|
|
legend,
|
|
|
|
|
tagFilterItems,
|
2023-05-10 19:40:27 +03:00
|
|
|
}: DatabaseCallsRPSProps): QueryBuilderData => {
|
|
|
|
|
const metricName: BaseAutocompleteData = {
|
|
|
|
|
dataType: 'float64',
|
|
|
|
|
isColumn: true,
|
|
|
|
|
key: 'signoz_db_latency_count',
|
|
|
|
|
type: null,
|
|
|
|
|
};
|
|
|
|
|
const groupBy: BaseAutocompleteData[] = [
|
|
|
|
|
{ dataType: 'string', isColumn: false, key: 'db_system', type: 'tag' },
|
|
|
|
|
];
|
|
|
|
|
const itemsA: TagFilterItem[] = [
|
2023-01-16 18:05:13 +05:30
|
|
|
{
|
|
|
|
|
id: '',
|
2023-05-10 19:40:27 +03:00
|
|
|
key: {
|
|
|
|
|
dataType: 'string',
|
|
|
|
|
isColumn: false,
|
|
|
|
|
key: 'service_name',
|
|
|
|
|
type: 'resource',
|
|
|
|
|
},
|
2023-01-16 18:05:13 +05:30
|
|
|
op: 'IN',
|
|
|
|
|
value: [`${servicename}`],
|
|
|
|
|
},
|
|
|
|
|
...tagFilterItems,
|
|
|
|
|
];
|
2022-12-06 16:52:20 +05:30
|
|
|
|
|
|
|
|
return getQueryBuilderQueries({
|
|
|
|
|
metricName,
|
|
|
|
|
groupBy,
|
2023-01-16 18:05:13 +05:30
|
|
|
legend,
|
|
|
|
|
itemsA,
|
2022-12-06 16:52:20 +05:30
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const databaseCallsAvgDuration = ({
|
|
|
|
|
servicename,
|
|
|
|
|
tagFilterItems,
|
2023-05-10 19:40:27 +03:00
|
|
|
}: DatabaseCallProps): QueryBuilderData => {
|
|
|
|
|
const metricNameA: BaseAutocompleteData = {
|
|
|
|
|
dataType: 'float64',
|
|
|
|
|
isColumn: true,
|
|
|
|
|
key: 'signoz_db_latency_sum',
|
|
|
|
|
type: null,
|
|
|
|
|
};
|
|
|
|
|
const metricNameB: BaseAutocompleteData = {
|
|
|
|
|
dataType: 'float64',
|
|
|
|
|
isColumn: true,
|
|
|
|
|
key: 'signoz_db_latency_count',
|
|
|
|
|
type: null,
|
|
|
|
|
};
|
2022-12-06 16:52:20 +05:30
|
|
|
const expression = 'A/B';
|
2023-02-08 12:41:55 +05:30
|
|
|
const legendFormula = 'Average Duration';
|
2022-12-06 16:52:20 +05:30
|
|
|
const legend = '';
|
|
|
|
|
const disabled = true;
|
2023-05-10 19:40:27 +03:00
|
|
|
const additionalItemsA: TagFilterItem[] = [
|
2023-01-16 18:05:13 +05:30
|
|
|
{
|
|
|
|
|
id: '',
|
2023-05-10 19:40:27 +03:00
|
|
|
key: {
|
|
|
|
|
dataType: 'string',
|
|
|
|
|
isColumn: false,
|
|
|
|
|
key: 'service_name',
|
|
|
|
|
type: 'resource',
|
|
|
|
|
},
|
2023-01-16 18:05:13 +05:30
|
|
|
op: 'IN',
|
|
|
|
|
value: [`${servicename}`],
|
|
|
|
|
},
|
|
|
|
|
...tagFilterItems,
|
|
|
|
|
];
|
|
|
|
|
const additionalItemsB = additionalItemsA;
|
2022-12-06 16:52:20 +05:30
|
|
|
|
|
|
|
|
return getQueryBuilderQuerieswithFormula({
|
|
|
|
|
metricNameA,
|
|
|
|
|
metricNameB,
|
2023-01-16 18:05:13 +05:30
|
|
|
additionalItemsA,
|
|
|
|
|
additionalItemsB,
|
|
|
|
|
legend,
|
|
|
|
|
disabled,
|
2022-12-06 16:52:20 +05:30
|
|
|
expression,
|
|
|
|
|
legendFormula,
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
interface DatabaseCallsRPSProps extends DatabaseCallProps {
|
|
|
|
|
legend: '{{db_system}}';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface DatabaseCallProps {
|
|
|
|
|
servicename: string | undefined;
|
2023-05-10 19:40:27 +03:00
|
|
|
tagFilterItems: TagFilterItem[];
|
2022-12-06 16:52:20 +05:30
|
|
|
}
|