11import DataTable from '@gravity-ui/react-data-table' ;
2- import type { Column } from '@gravity-ui/react-data-table' ;
2+ import type { Column , OrderType } from '@gravity-ui/react-data-table' ;
33
44import { YDBSyntaxHighlighter } from '../../../../../components/SyntaxHighlighter/YDBSyntaxHighlighter' ;
55import { TruncatedQuery } from '../../../../../components/TruncatedQuery/TruncatedQuery' ;
@@ -11,8 +11,9 @@ import {formatToMs, parseUsToMs} from '../../../../../utils/timeParsers';
1111import { MAX_QUERY_HEIGHT } from '../../../utils/constants' ;
1212
1313import {
14- TOP_QUERIES_COLUMNS_IDS ,
15- TOP_QUERIES_COLUMNS_TITLES ,
14+ QUERIES_COLUMNS_IDS ,
15+ QUERIES_COLUMNS_TITLES ,
16+ isSortableRunningQueriesColumn ,
1617 isSortableTopQueriesColumn ,
1718} from './constants' ;
1819
@@ -21,16 +22,16 @@ import '../TopQueries.scss';
2122const b = cn ( 'kv-top-queries' ) ;
2223
2324const cpuTimeUsColumn : Column < KeyValueRow > = {
24- name : TOP_QUERIES_COLUMNS_IDS . CPUTime ,
25- header : TOP_QUERIES_COLUMNS_TITLES . CPUTime ,
25+ name : QUERIES_COLUMNS_IDS . CPUTime ,
26+ header : QUERIES_COLUMNS_TITLES . CPUTime ,
2627 render : ( { row} ) => formatToMs ( parseUsToMs ( row . CPUTimeUs ?? undefined ) ) ,
2728 width : 120 ,
2829 align : DataTable . RIGHT ,
2930} ;
3031
3132const queryTextColumn : Column < KeyValueRow > = {
32- name : TOP_QUERIES_COLUMNS_IDS . QueryText ,
33- header : TOP_QUERIES_COLUMNS_TITLES . QueryText ,
33+ name : QUERIES_COLUMNS_IDS . QueryText ,
34+ header : QUERIES_COLUMNS_TITLES . QueryText ,
3435 render : ( { row} ) => (
3536 < div className = { b ( 'query' ) } >
3637 < TruncatedQuery
@@ -44,39 +45,39 @@ const queryTextColumn: Column<KeyValueRow> = {
4445} ;
4546
4647const endTimeColumn : Column < KeyValueRow > = {
47- name : TOP_QUERIES_COLUMNS_IDS . EndTime ,
48- header : TOP_QUERIES_COLUMNS_TITLES . EndTime ,
48+ name : QUERIES_COLUMNS_IDS . EndTime ,
49+ header : QUERIES_COLUMNS_TITLES . EndTime ,
4950 render : ( { row} ) => formatDateTime ( new Date ( row . EndTime as string ) . getTime ( ) ) ,
5051 align : DataTable . RIGHT ,
5152 width : 200 ,
5253} ;
5354
5455const readRowsColumn : Column < KeyValueRow > = {
55- name : TOP_QUERIES_COLUMNS_IDS . ReadRows ,
56- header : TOP_QUERIES_COLUMNS_TITLES . ReadRows ,
56+ name : QUERIES_COLUMNS_IDS . ReadRows ,
57+ header : QUERIES_COLUMNS_TITLES . ReadRows ,
5758 render : ( { row} ) => formatNumber ( row . ReadRows ) ,
5859 align : DataTable . RIGHT ,
5960 width : 150 ,
6061} ;
6162
6263const readBytesColumn : Column < KeyValueRow > = {
63- name : TOP_QUERIES_COLUMNS_IDS . ReadBytes ,
64- header : TOP_QUERIES_COLUMNS_TITLES . ReadBytes ,
64+ name : QUERIES_COLUMNS_IDS . ReadBytes ,
65+ header : QUERIES_COLUMNS_TITLES . ReadBytes ,
6566 render : ( { row} ) => formatNumber ( row . ReadBytes ) ,
6667 align : DataTable . RIGHT ,
6768 width : 150 ,
6869} ;
6970
7071const userSIDColumn : Column < KeyValueRow > = {
71- name : TOP_QUERIES_COLUMNS_IDS . UserSID ,
72- header : TOP_QUERIES_COLUMNS_TITLES . UserSID ,
72+ name : QUERIES_COLUMNS_IDS . UserSID ,
73+ header : QUERIES_COLUMNS_TITLES . UserSID ,
7374 render : ( { row} ) => < div className = { b ( 'user-sid' ) } > { row . UserSID || '–' } </ div > ,
7475 align : DataTable . LEFT ,
7576} ;
7677
7778const oneLineQueryTextColumn : Column < KeyValueRow > = {
78- name : TOP_QUERIES_COLUMNS_IDS . OneLineQueryText ,
79- header : TOP_QUERIES_COLUMNS_TITLES . OneLineQueryText ,
79+ name : QUERIES_COLUMNS_IDS . OneLineQueryText ,
80+ header : QUERIES_COLUMNS_TITLES . OneLineQueryText ,
8081 render : ( { row} ) => (
8182 < YDBSyntaxHighlighter
8283 language = "yql"
@@ -90,39 +91,38 @@ const oneLineQueryTextColumn: Column<KeyValueRow> = {
9091} ;
9192
9293const queryHashColumn : Column < KeyValueRow > = {
93- name : TOP_QUERIES_COLUMNS_IDS . QueryHash ,
94- header : TOP_QUERIES_COLUMNS_TITLES . QueryHash ,
94+ name : QUERIES_COLUMNS_IDS . QueryHash ,
95+ header : QUERIES_COLUMNS_TITLES . QueryHash ,
9596 render : ( { row} ) => generateHash ( String ( row . QueryText ) ) ,
9697 width : 130 ,
9798} ;
9899
99100const durationColumn : Column < KeyValueRow > = {
100- name : TOP_QUERIES_COLUMNS_IDS . Duration ,
101- header : TOP_QUERIES_COLUMNS_TITLES . Duration ,
101+ name : QUERIES_COLUMNS_IDS . Duration ,
102+ header : QUERIES_COLUMNS_TITLES . Duration ,
102103 render : ( { row} ) => formatToMs ( parseUsToMs ( row . Duration ?? undefined ) ) ,
103104 align : DataTable . RIGHT ,
104105 width : 150 ,
105106} ;
106107
107108const queryStartColumn : Column < KeyValueRow > = {
108- name : TOP_QUERIES_COLUMNS_IDS . QueryStartAt ,
109- header : TOP_QUERIES_COLUMNS_TITLES . QueryStartAt ,
109+ name : QUERIES_COLUMNS_IDS . QueryStartAt ,
110+ header : QUERIES_COLUMNS_TITLES . QueryStartAt ,
110111 render : ( { row} ) => formatDateTime ( new Date ( row . QueryStartAt as string ) . getTime ( ) ) ,
111112 resizeable : false ,
112- defaultOrder : DataTable . DESCENDING ,
113113} ;
114114
115115const requestUnitsColumn : Column < KeyValueRow > = {
116- name : TOP_QUERIES_COLUMNS_IDS . RequestUnits ,
117- header : TOP_QUERIES_COLUMNS_TITLES . RequestUnits ,
116+ name : QUERIES_COLUMNS_IDS . RequestUnits ,
117+ header : QUERIES_COLUMNS_TITLES . RequestUnits ,
118118 render : ( { row} ) => formatNumber ( row . RequestUnits ) ,
119119 align : DataTable . RIGHT ,
120120 width : 150 ,
121121} ;
122122
123123const applicationColumn : Column < KeyValueRow > = {
124- name : TOP_QUERIES_COLUMNS_IDS . ApplicationName ,
125- header : TOP_QUERIES_COLUMNS_TITLES . ApplicationName ,
124+ name : QUERIES_COLUMNS_IDS . ApplicationName ,
125+ header : QUERIES_COLUMNS_TITLES . ApplicationName ,
126126 render : ( { row} ) => < div className = { b ( 'user-sid' ) } > { row . ApplicationName || '–' } </ div > ,
127127} ;
128128
@@ -142,18 +142,18 @@ export function getTopQueriesColumns() {
142142 return columns . map ( ( column ) => ( {
143143 ...column ,
144144 sortable : isSortableTopQueriesColumn ( column . name ) ,
145+ defaultOrder : DataTable . DESCENDING as OrderType ,
145146 } ) ) ;
146147}
147148
148149export function getTenantOverviewTopQueriesColumns ( ) {
149150 return [ queryHashColumn , oneLineQueryTextColumn , cpuTimeUsColumn ] ;
150151}
151-
152152export function getRunningQueriesColumns ( ) {
153153 const columns = [ userSIDColumn , queryStartColumn , queryTextColumn , applicationColumn ] ;
154154
155155 return columns . map ( ( column ) => ( {
156156 ...column ,
157- sortable : isSortableTopQueriesColumn ( column . name ) ,
157+ sortable : isSortableRunningQueriesColumn ( column . name ) ,
158158 } ) ) ;
159159}
0 commit comments