Skip to content

Commit b2f786e

Browse files
committed
fix: add limit and sorting
1 parent 9ba6997 commit b2f786e

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

src/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.tsx

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import type {Column} from '@gravity-ui/react-data-table';
2+
import DataTable from '@gravity-ui/react-data-table';
23

34
import {ResponseError} from '../../../../components/Errors/ResponseError';
45
import {ResizeableDataTable} from '../../../../components/ResizeableDataTable/ResizeableDataTable';
56
import {TableWithControlsLayout} from '../../../../components/TableWithControlsLayout/TableWithControlsLayout';
67
import {TruncatedQuery} from '../../../../components/TruncatedQuery/TruncatedQuery';
78
import {topQueriesApi} from '../../../../store/reducers/executeTopQueries/executeTopQueries';
8-
import type {KeyValueRow} from '../../../../types/api/query';
9+
import type {CellValue, KeyValueRow} from '../../../../types/api/query';
910
import {cn} from '../../../../utils/cn';
1011
import {formatDateTime} from '../../../../utils/dataFormatters/dataFormatters';
1112
import {useAutoRefreshInterval, useTypedSelector} from '../../../../utils/hooks';
@@ -21,21 +22,29 @@ interface Props {
2122

2223
const RUNNING_QUERIES_COLUMNS_WIDTH_LS_KEY = 'runningQueriesColumnsWidth';
2324

25+
const parseDate = (date: CellValue) => (date ? new Date(date.toString()).getTime() : '');
26+
2427
const columns: Column<KeyValueRow>[] = [
2528
{
26-
name: 'user',
29+
name: 'UserSID',
2730
header: i18n('col_user'),
28-
render: ({row}) => row.UserSID || '-',
29-
sortable: false,
31+
render: ({row}) => <div className={b('user-sid')}>{row.UserSID || '–'}</div>,
32+
sortAccessor: (row) => String(row.UserSID),
33+
sortable: true,
3034
},
3135
{
32-
name: 'startTime',
36+
name: 'QueryStartAt',
3337
header: i18n('col_start-time'),
34-
render: ({row}) => formatDateTime(new Date(row.QueryStartAt as string).getTime()),
35-
sortable: false,
38+
render: ({row}) => formatDateTime(parseDate(row.QueryStartAt)),
39+
sortable: true,
40+
resizeable: false,
41+
defaultOrder: DataTable.DESCENDING,
42+
sortAccessor: (row) => {
43+
return parseDate(row.QueryStartAt);
44+
},
3645
},
3746
{
38-
name: 'queryText',
47+
name: 'Query',
3948
header: i18n('col_query-text'),
4049
render: ({row}) => (
4150
<div className={b('query')}>
@@ -46,10 +55,10 @@ const columns: Column<KeyValueRow>[] = [
4655
sortable: false,
4756
},
4857
{
49-
name: 'app',
58+
name: 'ApplicationName',
5059
header: i18n('col_app'),
5160
render: ({row}) => row.ApplicationName || '-',
52-
sortable: false,
61+
sortable: true,
5362
},
5463
];
5564

src/store/reducers/executeTopQueries/executeTopQueries.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export const topQueriesApi = api.injectEndpoints({
9595
) => {
9696
try {
9797
const filterConditions = filters?.text ? `Query ILIKE '%${filters.text}%'` : '';
98-
const queryText = `SELECT * from \`.sys/query_sessions\` WHERE ${filterConditions || 'true'} limit 10`;
98+
const queryText = `SELECT * from \`.sys/query_sessions\` WHERE ${filterConditions || 'true'} ORDER BY SessionStartAt limit 100`;
9999

100100
const response = await window.api.sendQuery(
101101
{

0 commit comments

Comments
 (0)