Skip to content

Commit 566d65e

Browse files
committed
feat: dont fetch render for false graphshard
1 parent ed9375e commit 566d65e

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/components/MetricChart/MetricChart.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ interface DiagnosticsChartProps {
125125

126126
/** Chart title displayed in the toolbar */
127127
title: string;
128+
129+
/**
130+
* When true, skip fetching chart data completely (no initial request, no polling)
131+
*/
132+
skip?: boolean;
128133
}
129134

130135
export const MetricChart = ({
@@ -138,6 +143,7 @@ export const MetricChart = ({
138143
onChartDataStatusChange,
139144
isChartVisible,
140145
title,
146+
skip,
141147
}: DiagnosticsChartProps) => {
142148
const [timeFrame, setTimeFrame] = React.useState<TimeFrame>(defaultTimeFrame);
143149

@@ -154,7 +160,7 @@ export const MetricChart = ({
154160
timeFrame,
155161
maxDataPoints,
156162
},
157-
{pollingInterval: autorefresh},
163+
{pollingInterval: autorefresh, skip},
158164
);
159165

160166
const loading = isFetching && !currentData;

src/components/QueriesActivityBar/QueriesActivityCharts.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import React from 'react';
33
import {Flex} from '@gravity-ui/uikit';
44

55
import {defaultDashboardConfig} from '../../containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig';
6+
import {useGraphShardExists} from '../../store/reducers/capabilities/hooks';
67
import {cn} from '../../utils/cn';
78
import {useAutoRefreshInterval} from '../../utils/hooks';
89
import {MetricChart} from '../MetricChart/MetricChart';
@@ -25,6 +26,7 @@ export function QueriesActivityCharts({
2526
expanded,
2627
onChartDataStatusChange,
2728
}: QueriesActivityChartsProps) {
29+
const graphShardExists = useGraphShardExists();
2830
const [autoRefreshInterval] = useAutoRefreshInterval();
2931
const [hasChartsLoaded, setHasChartsLoaded] = React.useState(false);
3032

@@ -84,6 +86,7 @@ export function QueriesActivityCharts({
8486
onChartDataStatusChange={handleChartDataStatusChange}
8587
isChartVisible={hasChartsLoaded && expanded}
8688
title={queriesChartConfig.title}
89+
skip={graphShardExists === false}
8790
/>
8891
</Flex>
8992

@@ -97,6 +100,7 @@ export function QueriesActivityCharts({
97100
onChartDataStatusChange={handleChartDataStatusChange}
98101
isChartVisible={hasChartsLoaded && expanded}
99102
title={latenciesChartConfig.title}
103+
skip={graphShardExists === false}
100104
/>
101105
</Flex>
102106
</Flex>

src/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export const TenantDashboard = ({database, charts}: TenantDashboardProps) => {
4949
*
5050
* If at least one chart successfully loaded, dashboard should be shown
5151
* This fallback behavior is only used when GraphShardExists capability is not available or false
52-
* @link https://github.com/ydb-platform/ydb-embedded-ui/issues/659
52+
* Link: https://github.com/ydb-platform/ydb-embedded-ui/issues/659
5353
* @todo disable only for specific errors ('GraphShard is not enabled') after ydb-stable-24 is generally used
5454
*/
5555
const handleChartDataStatusChange = (chartStatus: ChartDataStatus) => {
@@ -64,6 +64,7 @@ export const TenantDashboard = ({database, charts}: TenantDashboardProps) => {
6464
const chartHeight = CHART_WIDTH / 1.5;
6565

6666
const renderContent = () => {
67+
const skipCharts = graphShardExists === false;
6768
return charts.map((chartConfig, index) => (
6869
<MetricChart
6970
key={index}
@@ -76,6 +77,7 @@ export const TenantDashboard = ({database, charts}: TenantDashboardProps) => {
7677
onChartDataStatusChange={handleChartDataStatusChange}
7778
isChartVisible={!isDashboardHidden}
7879
title={chartConfig.title}
80+
skip={skipCharts}
7981
/>
8082
));
8183
};

0 commit comments

Comments
 (0)