Skip to content

Commit f1ab08c

Browse files
authored
feat: [query settings] display trace level selector (#1170)
1 parent 7d544b7 commit f1ab08c

File tree

9 files changed

+13
-27
lines changed

9 files changed

+13
-27
lines changed

src/containers/Tenant/Query/QueryEditor/QueryEditor.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {MonacoEditor} from '../../../../components/MonacoEditor/MonacoEditor';
1010
import SplitPane from '../../../../components/SplitPane';
1111
import type {RootState} from '../../../../store';
1212
import {cancelQueryApi} from '../../../../store/reducers/cancelQuery';
13+
import {useTracingLevelOptionAvailable} from '../../../../store/reducers/capabilities/hooks';
1314
import {
1415
executeQueryApi,
1516
goToNextQuery,
@@ -29,7 +30,6 @@ import {cn} from '../../../../utils/cn';
2930
import {
3031
DEFAULT_IS_QUERY_RESULT_COLLAPSED,
3132
DEFAULT_SIZE_RESULT_PANE_KEY,
32-
ENABLE_TRACING_LEVEL_KEY,
3333
LAST_USED_QUERY_ACTION_KEY,
3434
QUERY_USE_MULTI_SCHEMA_KEY,
3535
} from '../../../../utils/constants';
@@ -103,7 +103,7 @@ function QueryEditor(props: QueryEditorProps) {
103103
const [resultType, setResultType] = React.useState<ValueOf<typeof RESULT_TYPES>>();
104104
const [isResultLoaded, setIsResultLoaded] = React.useState(false);
105105
const [querySettings] = useQueryExecutionSettings();
106-
const [enableTracingLevel] = useSetting<boolean>(ENABLE_TRACING_LEVEL_KEY);
106+
const enableTracingLevel = useTracingLevelOptionAvailable();
107107
const [lastQueryExecutionSettings, setLastQueryExecutionSettings] =
108108
useLastQueryExecutionSettings();
109109
const {resetBanner} = useChangedQuerySettings();

src/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@ import React from 'react';
33
import {Dialog, Link as ExternalLink, Flex, TextInput} from '@gravity-ui/uikit';
44
import {Controller, useForm} from 'react-hook-form';
55

6+
import {useTracingLevelOptionAvailable} from '../../../../store/reducers/capabilities/hooks';
67
import {
78
selectQueryAction,
89
setQueryAction,
910
} from '../../../../store/reducers/queryActions/queryActions';
1011
import type {QuerySettings} from '../../../../types/store/query';
1112
import {cn} from '../../../../utils/cn';
12-
import {ENABLE_TRACING_LEVEL_KEY} from '../../../../utils/constants';
1313
import {
1414
useQueryExecutionSettings,
15-
useSetting,
1615
useTypedDispatch,
1716
useTypedSelector,
1817
} from '../../../../utils/hooks';
@@ -71,7 +70,7 @@ function QuerySettingsForm({initialValues, onSubmit, onClose}: QuerySettingsForm
7170
defaultValues: initialValues,
7271
});
7372

74-
const [enableTracingLevel] = useSetting<boolean>(ENABLE_TRACING_LEVEL_KEY);
73+
const enableTracingLevel = useTracingLevelOptionAvailable();
7574

7675
return (
7776
<form onSubmit={handleSubmit(onSubmit)}>

src/containers/UserSettings/i18n/en.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@
3939

4040
"settings.showDomainDatabase.title": "Show domain database",
4141

42-
"settings.enableTracingLevel.title": "Enable tracing level select",
43-
"settings.enableTracingLevel.description": "Caution: Enabling this setting may break running of queries",
44-
4542
"settings.queryUseMultiSchema.title": "Allow queries with multiple result sets",
4643
"settings.queryUseMultiSchema.description": "Use 'multi' schema for queries. It enables queries with multiple result sets. It returns nothing on versions 23-3 and older",
4744

src/containers/UserSettings/settings.tsx

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
AUTOCOMPLETE_ON_ENTER,
77
BINARY_DATA_IN_PLAIN_TEXT_DISPLAY,
88
ENABLE_AUTOCOMPLETE,
9-
ENABLE_TRACING_LEVEL_KEY,
109
INVERTED_DISKS_KEY,
1110
LANGUAGE_KEY,
1211
QUERY_USE_MULTI_SCHEMA_KEY,
@@ -113,12 +112,6 @@ export const showDomainDatabase: SettingProps = {
113112
title: i18n('settings.showDomainDatabase.title'),
114113
};
115114

116-
export const enableTracingLevel: SettingProps = {
117-
settingKey: ENABLE_TRACING_LEVEL_KEY,
118-
title: i18n('settings.enableTracingLevel.title'),
119-
description: i18n('settings.enableTracingLevel.description'),
120-
};
121-
122115
export const queryUseMultiSchemaSetting: SettingProps = {
123116
settingKey: QUERY_USE_MULTI_SCHEMA_KEY,
124117
title: i18n('settings.queryUseMultiSchema.title'),
@@ -167,7 +160,7 @@ export const experimentsSection: SettingsSection = {
167160
export const devSettingsSection: SettingsSection = {
168161
id: 'devSettingsSection',
169162
title: i18n('section.dev-setting'),
170-
settings: [enableAutocompleteSetting, autocompleteOnEnterSetting, enableTracingLevel],
163+
settings: [enableAutocompleteSetting, autocompleteOnEnterSetting],
171164
};
172165

173166
export const aboutSettingsSection: SettingsSection = {

src/services/settings.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {
66
BINARY_DATA_IN_PLAIN_TEXT_DISPLAY,
77
DEFAULT_QUERY_SETTINGS,
88
ENABLE_AUTOCOMPLETE,
9-
ENABLE_TRACING_LEVEL_KEY,
109
INVERTED_DISKS_KEY,
1110
IS_HOTKEYS_HELP_HIDDEN_KEY,
1211
LANGUAGE_KEY,
@@ -48,7 +47,6 @@ export const DEFAULT_USER_SETTINGS = {
4847
[AUTOCOMPLETE_ON_ENTER]: true,
4948
[IS_HOTKEYS_HELP_HIDDEN_KEY]: false,
5049
[AUTO_REFRESH_INTERVAL]: 0,
51-
[ENABLE_TRACING_LEVEL_KEY]: false,
5250
[SHOW_DOMAIN_DATABASE_KEY]: false,
5351
[LAST_QUERY_EXECUTION_SETTINGS_KEY]: undefined,
5452
[QUERY_SETTINGS_BANNER_LAST_CLOSED_KEY]: undefined,

src/store/reducers/capabilities/hooks.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@ export const useDiskPagesAvailable = () => {
1616
// It's enough to check only pdisk handler
1717
return useGetFeatureVersion('/pdisk/info') > 0;
1818
};
19+
20+
export const useTracingLevelOptionAvailable = () => {
21+
return useGetFeatureVersion('/viewer/query') > 2;
22+
};

src/types/api/capabilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ export interface CapabilitiesResponse {
66
}
77

88
// Add feature name before using it
9-
export type Capability = '/pdisk/info' | '/scheme/directory';
9+
export type Capability = '/pdisk/info' | '/scheme/directory' | '/viewer/query';

src/utils/constants.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,5 +159,3 @@ export const ENABLE_AUTOCOMPLETE = 'enableAutocomplete';
159159
export const AUTOCOMPLETE_ON_ENTER = 'autocompleteOnEnter';
160160

161161
export const IS_HOTKEYS_HELP_HIDDEN_KEY = 'isHotKeysHelpHidden';
162-
163-
export const ENABLE_TRACING_LEVEL_KEY = 'enableTracingLevel';

src/utils/hooks/useQueryExecutionSettings.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
1+
import {useTracingLevelOptionAvailable} from '../../store/reducers/capabilities/hooks';
12
import type {QuerySettings} from '../../types/store/query';
2-
import {
3-
DEFAULT_QUERY_SETTINGS,
4-
ENABLE_TRACING_LEVEL_KEY,
5-
QUERY_EXECUTION_SETTINGS_KEY,
6-
} from '../constants';
3+
import {DEFAULT_QUERY_SETTINGS, QUERY_EXECUTION_SETTINGS_KEY} from '../constants';
74

85
import {useSetting} from './useSetting';
96

107
export const useQueryExecutionSettings = () => {
11-
const [enableTracingLevel] = useSetting<boolean>(ENABLE_TRACING_LEVEL_KEY);
8+
const enableTracingLevel = useTracingLevelOptionAvailable();
129
const [setting, setSetting] = useSetting<QuerySettings>(QUERY_EXECUTION_SETTINGS_KEY);
1310

1411
return [

0 commit comments

Comments
 (0)