Skip to content

Commit 5541ca7

Browse files
authored
fix: remove trace polling (#1915)
1 parent 0a49720 commit 5541ca7

File tree

11 files changed

+10
-129
lines changed

11 files changed

+10
-129
lines changed

src/containers/Tenant/Query/QueryResult/QueryResultViewer.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,7 @@ export function QueryResultViewer({
287287
<CancelQueryButton queryId={queryId} tenantName={tenantName} />
288288
</React.Fragment>
289289
) : null}
290-
{data?.traceId && isExecute ? (
291-
<TraceButton traceId={data.traceId} isTraceReady={result.isTraceReady} />
292-
) : null}
290+
{data?.traceId && isExecute ? <TraceButton traceId={data.traceId} /> : null}
293291
</div>
294292
);
295293
};

src/containers/Tenant/Query/QueryResult/components/TraceButton/TraceButton.tsx

+4-25
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,25 @@
1-
import React from 'react';
2-
31
import {ArrowUpRightFromSquare} from '@gravity-ui/icons';
42
import {Button} from '@gravity-ui/uikit';
53

64
import {useClusterBaseInfo} from '../../../../../../store/reducers/cluster/cluster';
7-
import {traceApi} from '../../../../../../store/reducers/trace';
85
import {replaceParams} from '../../../utils/replaceParams';
96
import i18n from '../../i18n';
107

118
interface TraceUrlButtonProps {
129
traceId: string;
13-
isTraceReady?: true;
1410
}
1511

16-
export function TraceButton({traceId, isTraceReady}: TraceUrlButtonProps) {
17-
const {traceCheck, traceView} = useClusterBaseInfo();
12+
export function TraceButton({traceId}: TraceUrlButtonProps) {
13+
const {traceView} = useClusterBaseInfo();
1814

19-
const checkTraceUrl = traceCheck?.url ? replaceParams(traceCheck.url, {traceId}) : '';
2015
const traceUrl = traceView?.url ? replaceParams(traceView.url, {traceId}) : '';
2116

22-
const [checkTrace, {isLoading, isUninitialized}] = traceApi.useLazyCheckTraceQuery();
23-
24-
React.useEffect(() => {
25-
let checkTraceMutation: {abort: () => void} | null;
26-
if (checkTraceUrl && !isTraceReady) {
27-
checkTraceMutation = checkTrace({url: checkTraceUrl});
28-
}
29-
30-
return () => checkTraceMutation?.abort();
31-
}, [checkTrace, checkTraceUrl, isTraceReady]);
32-
33-
if (!traceUrl || (isUninitialized && !isTraceReady)) {
17+
if (!traceUrl) {
3418
return null;
3519
}
3620

3721
return (
38-
<Button
39-
view={isLoading ? 'flat-secondary' : 'flat-info'}
40-
loading={isLoading}
41-
href={traceUrl}
42-
target="_blank"
43-
>
22+
<Button view={'flat-info'} href={traceUrl} target="_blank">
4423
{i18n('trace')}
4524
<Button.Icon>
4625
<ArrowUpRightFromSquare />

src/services/api/index.ts

-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {PDiskAPI} from './pdisk';
77
import {SchemeAPI} from './scheme';
88
import {StorageAPI} from './storage';
99
import {TabletsAPI} from './tablets';
10-
import {TraceAPI} from './trace';
1110
import {VDiskAPI} from './vdisk';
1211
import {ViewerAPI} from './viewer';
1312

@@ -18,7 +17,6 @@ export class YdbEmbeddedAPI {
1817
scheme: SchemeAPI;
1918
storage: StorageAPI;
2019
tablets: TabletsAPI;
21-
trace: TraceAPI;
2220
vdisk: VDiskAPI;
2321
viewer: ViewerAPI;
2422
meta?: MetaAPI;
@@ -33,7 +31,6 @@ export class YdbEmbeddedAPI {
3331
this.scheme = new SchemeAPI({config});
3432
this.storage = new StorageAPI({config});
3533
this.tablets = new TabletsAPI({config});
36-
this.trace = new TraceAPI({config});
3734
this.vdisk = new VDiskAPI({config});
3835
this.viewer = new ViewerAPI({config});
3936
}

src/services/api/trace.ts

-42
This file was deleted.

src/services/parsers/parseMetaCluster.ts

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
1-
import {traceCheckSchema, traceViewSchema} from '../../types/api/trace';
1+
import {traceViewSchema} from '../../types/api/trace';
22

3-
export function parseTraceFields({
4-
traceCheck,
5-
traceView,
6-
}: {
7-
traceCheck?: string;
8-
traceView?: string;
9-
}) {
3+
export function parseTraceFields({traceView}: {traceView?: string}) {
104
try {
115
return {
12-
traceCheck: traceCheck ? traceCheckSchema.parse(JSON.parse(traceCheck)) : undefined,
136
traceView: traceView ? traceViewSchema.parse(JSON.parse(traceView)) : undefined,
147
};
158
} catch (e) {

src/store/reducers/cluster/cluster.ts

+2-8
Original file line numberDiff line numberDiff line change
@@ -140,17 +140,11 @@ export function useClusterBaseInfo() {
140140

141141
const {currentData} = clusterApi.useGetClusterBaseInfoQuery(clusterName ?? skipToken);
142142

143-
const {
144-
solomon: monitoring,
145-
name,
146-
trace_check: traceCheck,
147-
trace_view: traceView,
148-
...data
149-
} = currentData || {};
143+
const {solomon: monitoring, name, trace_view: traceView, ...data} = currentData || {};
150144

151145
return {
152146
...data,
153-
...parseTraceFields({traceCheck, traceView}),
147+
...parseTraceFields({traceView}),
154148
name: name ?? clusterName ?? undefined,
155149
monitoring,
156150
};

src/store/reducers/query/query.ts

-6
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,6 @@ const slice = createSlice({
4343
changeUserInput: (state, action: PayloadAction<{input: string}>) => {
4444
state.input = action.payload.input;
4545
},
46-
setQueryTraceReady: (state) => {
47-
if (state.result) {
48-
state.result.isTraceReady = true;
49-
}
50-
},
5146
setQueryResult: (state, action: PayloadAction<QueryResult | undefined>) => {
5247
state.result = action.payload;
5348
},
@@ -143,7 +138,6 @@ const slice = createSlice({
143138
export default slice.reducer;
144139
export const {
145140
changeUserInput,
146-
setQueryTraceReady,
147141
setQueryResult,
148142
saveQueryToHistory,
149143
updateQueryInHistory,

src/store/reducers/query/types.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,13 @@ export interface QueryResult {
5252
type: QueryAction;
5353
data?: PreparedQueryData;
5454
error?: unknown;
55-
isTraceReady?: true;
5655
queryId: string;
5756
isLoading: boolean;
5857
}
5958

6059
export interface QueryState {
6160
input: string;
62-
result?: QueryResult & {isTraceReady?: boolean};
61+
result?: QueryResult;
6362
history: {
6463
queries: QueryInHistory[];
6564
currentIndex: number;

src/store/reducers/trace.ts

-24
This file was deleted.

src/types/api/meta.ts

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ export interface MetaBaseClusterInfo {
4545
balancer?: string;
4646
service?: string;
4747
trace_view?: string;
48-
trace_check?: string;
4948
use_embedded_ui?: boolean;
5049
}
5150

src/types/api/trace.ts

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
import {z} from 'zod';
22

3-
export const traceCheckSchema = z.object({
4-
url: z.string().url(),
5-
});
6-
7-
export type TTraceCheck = z.infer<typeof traceCheckSchema>;
8-
93
export const traceViewSchema = z.object({
104
url: z.string().url(),
115
});

0 commit comments

Comments
 (0)