diff --git a/src/components/Loader/Loader.tsx b/src/components/Loader/Loader.tsx index 1defea4a08..f33adac68a 100644 --- a/src/components/Loader/Loader.tsx +++ b/src/components/Loader/Loader.tsx @@ -7,11 +7,12 @@ const b = cn('ydb-loader'); interface LoaderProps { size?: LoaderSize; + className?: string; } -export const Loader = ({size = 'm'}: LoaderProps) => { +export const Loader = ({size = 'm', className}: LoaderProps) => { return ( -
+
); diff --git a/src/components/MetricChart/MetricChart.tsx b/src/components/MetricChart/MetricChart.tsx index a2927336b1..c3d82e640c 100644 --- a/src/components/MetricChart/MetricChart.tsx +++ b/src/components/MetricChart/MetricChart.tsx @@ -6,13 +6,19 @@ import ChartKit, {settings} from '@gravity-ui/chartkit'; import type {IResponseError} from '../../types/api/error'; import type {TimeFrame} from '../../utils/timeframes'; import {useAutofetcher} from '../../utils/hooks'; + import {COLORS} from '../../utils/versions'; import {cn} from '../../utils/cn'; import {Loader} from '../Loader'; import {ResponseError} from '../Errors/ResponseError'; -import type {ChartOptions, MetricDescription, PreparedMetricsData} from './types'; +import type { + ChartOptions, + MetricDescription, + OnChartDataStatusChange, + PreparedMetricsData, +} from './types'; import {convertResponse} from './convertReponse'; import {getDefaultDataFormatter} from './getDefaultDataFormatter'; import {getChartData} from './getChartData'; @@ -102,6 +108,15 @@ interface DiagnosticsChartProps { width?: number; chartOptions?: ChartOptions; + + onChartDataStatusChange?: OnChartDataStatusChange; + + /** + * YAGR charts don't render correctly inside not visible elements\ + * So if chart is used inside component with 'display:none', it will be empty, when visibility change\ + * Pass isChartVisible prop to ensure proper chart render + */ + isChartVisible?: boolean; } export const MetricChart = ({ @@ -112,6 +127,8 @@ export const MetricChart = ({ width = 400, height = width / 1.5, chartOptions, + onChartDataStatusChange, + isChartVisible, }: DiagnosticsChartProps) => { const mounted = useRef(false); @@ -127,6 +144,20 @@ export const MetricChart = ({ initialChartState, ); + useEffect(() => { + if (error) { + return onChartDataStatusChange?.('error'); + } + if (loading && !wasLoaded) { + return onChartDataStatusChange?.('loading'); + } + if (!loading && wasLoaded) { + return onChartDataStatusChange?.('success'); + } + + return undefined; + }, [loading, wasLoaded, error, onChartDataStatusChange]); + const fetchChartData = useCallback( async (isBackground: boolean) => { dispatch(setChartDataLoading()); @@ -146,7 +177,9 @@ export const MetricChart = ({ }); // Hack to prevent setting value to state, if component unmounted - if (!mounted.current) return; + if (!mounted.current) { + return; + } // In some cases error could be in response with 200 status code // It happens when request is OK, but chart data cannot be returned due to some reason @@ -155,10 +188,14 @@ export const MetricChart = ({ const preparedData = convertResponse(response, metrics); dispatch(setChartData(preparedData)); } else { - dispatch(setChartError({statusText: response.error})); + const err = {statusText: response.error}; + + throw err; } } catch (err) { - if (!mounted.current) return; + if (!mounted.current) { + return; + } dispatch(setChartError(err as IResponseError)); } @@ -175,6 +212,10 @@ export const MetricChart = ({ return ; } + if (!isChartVisible) { + return null; + } + return (
diff --git a/src/components/MetricChart/index.ts b/src/components/MetricChart/index.ts index 0d3adfec55..01faeed70e 100644 --- a/src/components/MetricChart/index.ts +++ b/src/components/MetricChart/index.ts @@ -1,2 +1,2 @@ -export type {MetricDescription, Metric, ChartOptions} from './types'; +export * from './types'; export {MetricChart} from './MetricChart'; diff --git a/src/components/MetricChart/types.ts b/src/components/MetricChart/types.ts index 94cce8e71a..c43a0fd06c 100644 --- a/src/components/MetricChart/types.ts +++ b/src/components/MetricChart/types.ts @@ -30,3 +30,6 @@ export type ChartDataType = 'ms' | 'size'; export interface ChartOptions { dataType?: ChartDataType; } + +export type ChartDataStatus = 'loading' | 'success' | 'error'; +export type OnChartDataStatusChange = (newStatus: ChartDataStatus) => void; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.tsx new file mode 100644 index 0000000000..43a73fd31a --- /dev/null +++ b/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.tsx @@ -0,0 +1,6 @@ +import {TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import {defaultDashboardConfig} from './defaultDashboardConfig'; + +export const DefaultOverviewContent = () => { + return ; +}; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/DefaultDashboard.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.ts similarity index 81% rename from src/containers/Tenant/Diagnostics/TenantOverview/DefaultDashboard.tsx rename to src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.ts index 71d8d6dc6b..b4dcbd255f 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/DefaultDashboard.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.ts @@ -1,7 +1,7 @@ -import {type ChartConfig, TenantDashboard} from './TenantDashboard/TenantDashboard'; -import i18n from './i18n'; +import type {ChartConfig} from '../TenantDashboard/TenantDashboard'; +import i18n from '../i18n'; -const defaultDashboardConfig: ChartConfig[] = [ +export const defaultDashboardConfig: ChartConfig[] = [ { title: i18n('charts.queries-per-second'), metrics: [ @@ -44,7 +44,3 @@ const defaultDashboardConfig: ChartConfig[] = [ }, }, ]; - -export const DefaultDashboard = () => { - return ; -}; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx index 5fb16b71be..0a02939b37 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.tsx @@ -1,5 +1,6 @@ import type {AdditionalNodesProps} from '../../../../../types/additionalProps'; -import {CpuDashboard} from './CpuDashboard'; +import {TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import {cpuDashboardConfig} from './cpuDashboardConfig'; import {TopNodesByLoad} from './TopNodesByLoad'; import {TopNodesByCpu} from './TopNodesByCpu'; import {TopShards} from './TopShards'; @@ -13,7 +14,7 @@ interface TenantCpuProps { export function TenantCpu({path, additionalNodesProps}: TenantCpuProps) { return ( <> - + diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/CpuDashboard.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.ts similarity index 51% rename from src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/CpuDashboard.tsx rename to src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.ts index dfb220f9fb..eea62f2d68 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/CpuDashboard.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.ts @@ -1,7 +1,7 @@ -import {type ChartConfig, TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import type {ChartConfig} from '../TenantDashboard/TenantDashboard'; import i18n from '../i18n'; -const cpuDashboardConfig: ChartConfig[] = [ +export const cpuDashboardConfig: ChartConfig[] = [ { title: i18n('charts.cpu-usage'), metrics: [ @@ -12,7 +12,3 @@ const cpuDashboardConfig: ChartConfig[] = [ ], }, ]; - -export const CpuDashboard = () => { - return ; -}; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx index 467552ebc7..bc54f7f23f 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx @@ -1,14 +1,15 @@ +import {useState} from 'react'; import {StringParam, useQueryParam} from 'use-query-params'; import {cn} from '../../../../../utils/cn'; import type {TimeFrame} from '../../../../../utils/timeframes'; -import {useSetting, useTypedSelector} from '../../../../../utils/hooks'; -import {DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY} from '../../../../../utils/constants'; +import {useTypedSelector} from '../../../../../utils/hooks'; import {TimeFrameSelector} from '../../../../../components/TimeFrameSelector/TimeFrameSelector'; import { type ChartOptions, MetricChart, type MetricDescription, + type ChartDataStatus, } from '../../../../../components/MetricChart'; import './TenantDashboard.scss'; @@ -29,15 +30,29 @@ interface TenantDashboardProps { } export const TenantDashboard = ({charts}: TenantDashboardProps) => { + const [isDashboardHidden, setIsDashboardHidden] = useState(true); + const [timeFrame = '1h', setTimeframe] = useQueryParam('timeframe', StringParam); const {autorefresh} = useTypedSelector((state) => state.schema); - const [chartsEnabled] = useSetting(DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY); + // Refetch data only if dashboard successfully loaded + const shouldRefresh = autorefresh && !isDashboardHidden; - if (!chartsEnabled) { - return null; - } + /** + * Charts should be hidden, if they are not enabled: + * 1. GraphShard is not enabled + * 2. ydb version does not have /viewer/json/render endpoint (400, 404, CORS error, etc.) + * + * If at least one chart successfully loaded, dashboard should be shown + * @link https://github.com/ydb-platform/ydb-embedded-ui/issues/659 + * @todo disable only for specific errors ('GraphShard is not enabled') after ydb-stable-24 is generally used + */ + const handleChartDataStatusChange = (chartStatus: ChartDataStatus) => { + if (chartStatus === 'success') { + setIsDashboardHidden(false); + } + }; // If there is only one chart, display it with full width const chartWidth = charts.length === 1 ? CHART_WIDTH_FULL : CHART_WIDTH; @@ -45,23 +60,26 @@ export const TenantDashboard = ({charts}: TenantDashboardProps) => { const renderContent = () => { return charts.map((chartConfig) => { + const chartId = chartConfig.metrics.map(({target}) => target).join('&'); return ( target).join('&')} + key={chartId} title={chartConfig.title} metrics={chartConfig.metrics} timeFrame={timeFrame as TimeFrame} chartOptions={chartConfig.options} - autorefresh={autorefresh} + autorefresh={shouldRefresh} width={chartWidth} height={chartHeight} + onChartDataStatusChange={handleChartDataStatusChange} + isChartVisible={!isDashboardHidden} /> ); }); }; return ( -
+
diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.tsx index ddc51a3d05..974e9a1852 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.tsx @@ -1,4 +1,5 @@ -import {MemoryDashboard} from './MemoryDashboard'; +import {TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import {memoryDashboardConfig} from './memoryDashboardConfig'; import {TopNodesByMemory} from './TopNodesByMemory'; interface TenantMemoryProps { @@ -8,7 +9,7 @@ interface TenantMemoryProps { export function TenantMemory({path}: TenantMemoryProps) { return ( <> - + ); diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDashboard.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/memoryDashboardConfig.ts similarity index 56% rename from src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDashboard.tsx rename to src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/memoryDashboardConfig.ts index 0c600c3ea9..e5ac1295f7 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDashboard.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/memoryDashboardConfig.ts @@ -1,7 +1,7 @@ -import {type ChartConfig, TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import type {ChartConfig} from '../TenantDashboard/TenantDashboard'; import i18n from '../i18n'; -const memoryDashboardConfig: ChartConfig[] = [ +export const memoryDashboardConfig: ChartConfig[] = [ { title: i18n('charts.memory-usage'), metrics: [ @@ -15,7 +15,3 @@ const memoryDashboardConfig: ChartConfig[] = [ }, }, ]; - -export const MemoryDashboard = () => { - return ; -}; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx index 0e971735d8..d542e65460 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx @@ -1,4 +1,3 @@ -import cn from 'bem-cn-lite'; import {useCallback} from 'react'; import {useDispatch} from 'react-redux'; @@ -17,12 +16,11 @@ import {HealthcheckDetails} from './Healthcheck/HealthcheckDetails'; import {MetricsCards, type TenantMetrics} from './MetricsCards/MetricsCards'; import {TenantStorage} from './TenantStorage/TenantStorage'; import {TenantMemory} from './TenantMemory/TenantMemory'; -import {DefaultDashboard} from './DefaultDashboard'; +import {DefaultOverviewContent} from './DefaultOverviewContent/DefaultOverviewContent'; import {useHealthcheck} from './useHealthcheck'; import './TenantOverview.scss'; - -const b = cn('tenant-overview'); +import {b} from './utils'; interface TenantOverviewProps { tenantName: string; @@ -141,7 +139,7 @@ export function TenantOverview({ ); } default: { - return ; + return ; } } }; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.tsx index 77612c4ef0..9b7473397c 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.tsx @@ -1,5 +1,4 @@ import type {ReactNode} from 'react'; -import cn from 'bem-cn-lite'; import DataTable from '@gravity-ui/react-data-table'; import type {DataTableProps} from '@gravity-ui/react-data-table'; @@ -11,8 +10,7 @@ import { import type {IResponseError} from '../../../../types/api/error'; import {TableSkeleton} from '../../../../components/TableSkeleton/TableSkeleton'; import {ResponseError} from '../../../../components/Errors/ResponseError'; - -const b = cn('tenant-overview'); +import {b} from './utils'; interface TenantOverviewTableLayoutProps extends Omit, 'theme'> { title: ReactNode; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx index 290fcb89e4..3349c45b30 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx @@ -1,17 +1,16 @@ -import cn from 'bem-cn-lite'; - import InfoViewer from '../../../../../components/InfoViewer/InfoViewer'; import {ProgressViewer} from '../../../../../components/ProgressViewer/ProgressViewer'; import {formatStorageValues} from '../../../../../utils/dataFormatters/dataFormatters'; import {getSizeWithSignificantDigits} from '../../../../../utils/bytesParsers'; +import {TenantDashboard} from '../TenantDashboard/TenantDashboard'; + import '../TenantOverview.scss'; -import {StorageDashboard} from './StorageDashboard'; +import {storageDashboardConfig} from './storageDashboardConfig'; import {TopTables} from './TopTables'; import {TopGroups} from './TopGroups'; - -const b = cn('tenant-overview'); +import {b} from '../utils'; export interface TenantStorageMetrics { blobStorageUsed?: number; @@ -61,9 +60,10 @@ export function TenantStorage({tenantName, metrics}: TenantStorageProps) { ), }, ]; + return ( <> - + diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/StorageDashboard.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/storageDashboardConfig.ts similarity index 56% rename from src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/StorageDashboard.tsx rename to src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/storageDashboardConfig.ts index 1780946206..9add0b73ce 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/StorageDashboard.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/storageDashboardConfig.ts @@ -1,7 +1,7 @@ -import {type ChartConfig, TenantDashboard} from '../TenantDashboard/TenantDashboard'; +import type {ChartConfig} from '../TenantDashboard/TenantDashboard'; import i18n from '../i18n'; -const storageDashboardConfig: ChartConfig[] = [ +export const storageDashboardConfig: ChartConfig[] = [ { title: i18n('charts.storage-usage'), metrics: [ @@ -15,7 +15,3 @@ const storageDashboardConfig: ChartConfig[] = [ }, }, ]; - -export const StorageDashboard = () => { - return ; -}; diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/utils.ts b/src/containers/Tenant/Diagnostics/TenantOverview/utils.ts new file mode 100644 index 0000000000..1da74e5223 --- /dev/null +++ b/src/containers/Tenant/Diagnostics/TenantOverview/utils.ts @@ -0,0 +1,3 @@ +import {cn} from '../../../../utils/cn'; + +export const b = cn('tenant-overview'); diff --git a/src/containers/UserSettings/i18n/en.json b/src/containers/UserSettings/i18n/en.json index a0e2e7ea81..c4b534e68a 100644 --- a/src/containers/UserSettings/i18n/en.json +++ b/src/containers/UserSettings/i18n/en.json @@ -23,8 +23,5 @@ "settings.useVirtualTables.popover": "It will increase performance, but could work unstable", "settings.queryUseMultiSchema.title": "Allow queries with multiple result sets", - "settings.queryUseMultiSchema.popover": "Use 'multi' schema for queries that enables queries with multiple result sets. Returns nothing on versions 23-3 and older", - - "settings.displayChartsInDbDiagnostics.title": "Display charts in database diagnostics", - "settings.displayChartsInDbDiagnostics.popover": "Incorrect data may be displayed (shows data only for the database related to the current node), does not work well on static nodes" + "settings.queryUseMultiSchema.popover": "Use 'multi' schema for queries that enables queries with multiple result sets. Returns nothing on versions 23-3 and older" } diff --git a/src/containers/UserSettings/i18n/ru.json b/src/containers/UserSettings/i18n/ru.json index 4caa9e43d3..1e5666d953 100644 --- a/src/containers/UserSettings/i18n/ru.json +++ b/src/containers/UserSettings/i18n/ru.json @@ -23,8 +23,5 @@ "settings.useVirtualTables.popover": "Это улучшит производительность, но может работать нестабильно", "settings.queryUseMultiSchema.title": "Разрешить запросы с несколькими результатами", - "settings.queryUseMultiSchema.popover": "Использовать для запросов схему 'multi', которая позволяет выполнять запросы с несколькими результатами. На версиях 23-3 и старше результат не возвращается вообще", - - "settings.displayChartsInDbDiagnostics.title": "Показывать графики в диагностике базы данных", - "settings.displayChartsInDbDiagnostics.popover": "Могут отображаться неправильные данные (показывает данные только для базы, относящейся к текущей ноде), плохо работает на статических нодах" + "settings.queryUseMultiSchema.popover": "Использовать для запросов схему 'multi', которая позволяет выполнять запросы с несколькими результатами. На версиях 23-3 и старше результат не возвращается вообще" } diff --git a/src/containers/UserSettings/settings.ts b/src/containers/UserSettings/settings.ts index 866a558688..aeddfbf5c6 100644 --- a/src/containers/UserSettings/settings.ts +++ b/src/containers/UserSettings/settings.ts @@ -10,7 +10,6 @@ import { USE_BACKEND_PARAMS_FOR_TABLES_KEY, USE_NODES_ENDPOINT_IN_DIAGNOSTICS_KEY, QUERY_USE_MULTI_SCHEMA_KEY, - DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY, } from '../../utils/constants'; import {Lang, defaultLang} from '../../utils/i18n'; @@ -95,11 +94,6 @@ export const queryUseMultiSchemaSetting: SettingProps = { title: i18n('settings.queryUseMultiSchema.title'), helpPopoverContent: i18n('settings.queryUseMultiSchema.popover'), }; -export const displayChartsInDbDiagnosticsSetting: SettingProps = { - settingKey: DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY, - title: i18n('settings.displayChartsInDbDiagnostics.title'), - helpPopoverContent: i18n('settings.displayChartsInDbDiagnostics.popover'), -}; export const appearanceSection: SettingsSection = { id: 'appearanceSection', @@ -109,12 +103,7 @@ export const appearanceSection: SettingsSection = { export const experimentsSection: SettingsSection = { id: 'experimentsSection', title: i18n('section.experiments'), - settings: [ - useNodesEndpointSetting, - useVirtualTables, - queryUseMultiSchemaSetting, - displayChartsInDbDiagnosticsSetting, - ], + settings: [useNodesEndpointSetting, useVirtualTables, queryUseMultiSchemaSetting], }; export const generalPage: SettingsPage = { diff --git a/src/services/settings.ts b/src/services/settings.ts index 54dea57c28..ce3e02e50b 100644 --- a/src/services/settings.ts +++ b/src/services/settings.ts @@ -3,7 +3,6 @@ import {TENANT_PAGES_IDS} from '../store/reducers/tenant/constants'; import { ASIDE_HEADER_COMPACT_KEY, CLUSTER_INFO_HIDDEN_KEY, - DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY, INVERTED_DISKS_KEY, LANGUAGE_KEY, LAST_USED_QUERY_ACTION_KEY, @@ -38,7 +37,6 @@ export const DEFAULT_USER_SETTINGS: SettingsObject = { [PARTITIONS_HIDDEN_COLUMNS_KEY]: [], [CLUSTER_INFO_HIDDEN_KEY]: true, [USE_BACKEND_PARAMS_FOR_TABLES_KEY]: false, - [DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY]: false, }; class SettingsManager { diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 9fdd8f59e2..b57176acd6 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -127,5 +127,3 @@ export const USE_BACKEND_PARAMS_FOR_TABLES_KEY = 'useBackendParamsForTables'; // Enable schema that supports multiple resultsets export const QUERY_USE_MULTI_SCHEMA_KEY = 'queryUseMultiSchema'; - -export const DISPLAY_CHARTS_IN_DB_DIAGNOSTICS_KEY = 'displayChartsInDbDiagnostics';