From a4cd265d45c7fd36f6d467f0119dc13dc7a1e220 Mon Sep 17 00:00:00 2001 From: Fine0830 Date: Tue, 22 Apr 2025 11:41:29 +0800 Subject: [PATCH] refactor: use the Fetch API to instead of `Axios` (#466) --- package-lock.json | 33 +++-- package.json | 1 - src/graphql/base.ts | 75 ++++++++++ src/graphql/fetch.ts | 24 ++-- src/graphql/fragments/dashboard.ts | 16 --- src/graphql/index.ts | 42 +++--- src/graphql/query/dashboard.ts | 13 +- src/router/index.ts | 10 +- src/store/modules/alarm.ts | 25 ++-- src/store/modules/app.ts | 31 ++--- src/store/modules/async-profiling.ts | 55 ++++---- src/store/modules/continous-profiling.ts | 35 +++-- src/store/modules/dashboard.ts | 64 ++++----- src/store/modules/demand-log.ts | 43 +++--- src/store/modules/ebpf.ts | 55 ++++---- src/store/modules/event.ts | 33 +++-- src/store/modules/log.ts | 73 +++++----- src/store/modules/network-profiling.ts | 41 +++--- src/store/modules/profile.ts | 91 ++++++------- src/store/modules/selectors.ts | 128 ++++++++---------- src/store/modules/task-timeline.ts | 13 +- src/store/modules/topology.ts | 63 ++++----- src/store/modules/trace.ts | 93 ++++++------- src/utils/cancelToken.ts | 25 ---- .../related/topology/config/Settings.vue | 7 +- src/vite-env.d.ts | 1 - 26 files changed, 514 insertions(+), 576 deletions(-) create mode 100644 src/graphql/base.ts delete mode 100644 src/utils/cancelToken.ts diff --git a/package-lock.json b/package-lock.json index b640ba19..c4f085d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,6 @@ "name": "skywalking-booster-ui", "version": "10.2.0", "dependencies": { - "axios": "^1.8.2", "d3": "^7.3.0", "d3-flame-graph": "^4.1.3", "d3-tip": "^0.9.1", @@ -4310,7 +4309,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", @@ -4340,6 +4340,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", + "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -4351,6 +4352,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -4363,7 +4365,8 @@ "node_modules/axios/node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/balanced-match": { "version": "1.0.2", @@ -4871,6 +4874,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -5998,6 +6002,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -7102,6 +7107,7 @@ "version": "1.15.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true, "funding": [ { "type": "individual", @@ -9397,6 +9403,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -9405,6 +9412,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -16517,7 +16525,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "at-least-node": { "version": "1.0.0", @@ -16541,6 +16550,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.2.tgz", "integrity": "sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==", + "dev": true, "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -16551,6 +16561,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -16560,7 +16571,8 @@ "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true } } }, @@ -16912,6 +16924,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -17759,7 +17772,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true }, "detect-libc": { "version": "1.0.3", @@ -18587,7 +18601,8 @@ "follow-redirects": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -20249,12 +20264,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { "mime-db": "1.52.0" } diff --git a/package.json b/package.json index c57146b8..8a80e0a4 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "check-components-types": "if (! git diff --quiet -U0 ./src/types); then echo 'type files are not updated correctly'; git diff -U0 ./src/types; exit 1; fi" }, "dependencies": { - "axios": "^1.8.2", "d3": "^7.3.0", "d3-flame-graph": "^4.1.3", "d3-tip": "^0.9.1", diff --git a/src/graphql/base.ts b/src/graphql/base.ts new file mode 100644 index 00000000..2ad064e4 --- /dev/null +++ b/src/graphql/base.ts @@ -0,0 +1,75 @@ +/* + * Licensed to Apache Software Foundation (ASF) under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Apache Software Foundation (ASF) licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const Timeout = 2 * 60 * 1000; +export let globalAbortController = new AbortController(); +export function abortRequestsAndUpdate() { + globalAbortController.abort(`Request timeout ${Timeout}ms`); + globalAbortController = new AbortController(); +} +class HTTPError extends Error { + response; + + constructor(response: Response, detailText = "") { + super(detailText || response.statusText); + + this.name = "HTTPError"; + this.response = response; + } +} + +const BasePath = `/graphql`; + +export async function httpQuery({ + path = "", + method = "GET", + json, + headers = {}, +}: { + path?: string; + method: string; + json: unknown; + headers: Recordable; +}) { + const timeoutId = setTimeout(() => { + abortRequestsAndUpdate(); + }, Timeout); + const url = `${BasePath}${path}`; + const response: Response = await fetch(url, { + method, + headers: { + "Content-Type": "application/json", + accept: "application/json", + ...headers, + }, + body: JSON.stringify(json), + signal: globalAbortController.signal, + }) + .catch((error) => { + throw new HTTPError(error); + }) + .finally(() => { + clearTimeout(timeoutId); + }); + if (response.ok) { + return response.json(); + } else { + console.error(new HTTPError(response)); + } +} diff --git a/src/graphql/fetch.ts b/src/graphql/fetch.ts index 8fbd3399..f475c6a4 100644 --- a/src/graphql/fetch.ts +++ b/src/graphql/fetch.ts @@ -14,20 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { AxiosResponse } from "axios"; -import axios from "axios"; -import { cancelToken } from "@/utils/cancelToken"; +import { httpQuery } from "./base"; -async function query(param: { queryStr: string; conditions: { [key: string]: unknown } }) { - const res: AxiosResponse = await axios.post( - "/graphql", - { query: param.queryStr, variables: { ...param.conditions } }, - { cancelToken: cancelToken() }, - ); - if (res.data.errors) { - res.data.errors = res.data.errors.map((e: { message: string }) => e.message).join(" "); +async function fetchQuery(param: { queryStr: string; conditions: { [key: string]: unknown } }) { + const response = await httpQuery({ + method: "post", + json: { query: param.queryStr, variables: { ...param.conditions } }, + headers: {}, + }); + if (response.errors) { + response.errors = response.errors.map((e: { message: string }) => e.message).join(" "); } - return res; + return response; } -export default query; +export default fetchQuery; diff --git a/src/graphql/fragments/dashboard.ts b/src/graphql/fragments/dashboard.ts index f453f3d8..a19e32c9 100644 --- a/src/graphql/fragments/dashboard.ts +++ b/src/graphql/fragments/dashboard.ts @@ -14,22 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export const TypeOfMetrics = { - variable: "$name: String!", - query: `typeOfMetrics(name: $name)`, -}; - -export const listMetrics = { - variable: "$regex: String", - query: ` - metrics: listMetrics(regex: $regex) { - value: name - label: name - type - catalog - } - `, -}; export const getAllTemplates = { query: ` diff --git a/src/graphql/index.ts b/src/graphql/index.ts index 84c0b89c..435118d6 100644 --- a/src/graphql/index.ts +++ b/src/graphql/index.ts @@ -14,9 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { AxiosPromise, AxiosResponse } from "axios"; -import axios from "axios"; -import { cancelToken } from "@/utils/cancelToken"; +import { httpQuery } from "./base"; import * as app from "./query/app"; import * as selector from "./query/selector"; import * as dashboard from "./query/dashboard"; @@ -45,30 +43,24 @@ const query: { [key: string]: string } = { ...asyncProfile, }; class Graphql { - private queryData = ""; - public query(queryData: string) { - this.queryData = queryData; + queryData = ""; + query(data: string) { + this.queryData = data; return this; } - public params(variablesData: unknown): AxiosPromise { - return axios - .post( - "/graphql", - { - query: query[this.queryData], - variables: variablesData, - }, - { cancelToken: cancelToken() }, - ) - .then((res: AxiosResponse) => { - if (res.data.errors) { - res.data.errors = res.data.errors.map((e: { message: string }) => e.message).join(" "); - } - return res; - }) - .catch((err: Error) => { - throw err; - }); + async params(variables: unknown) { + const response = await httpQuery({ + method: "post", + headers: {}, + json: { + query: query[this.queryData], + variables, + }, + }); + if (response.errors) { + response.errors = response.errors.map((e: { message: string }) => e.message).join(" "); + } + return response; } } diff --git a/src/graphql/query/dashboard.ts b/src/graphql/query/dashboard.ts index 738fafa8..346d77a7 100644 --- a/src/graphql/query/dashboard.ts +++ b/src/graphql/query/dashboard.ts @@ -14,18 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { - TypeOfMetrics, - listMetrics, - getAllTemplates, - addTemplate, - changeTemplate, - deleteTemplate, -} from "../fragments/dashboard"; - -export const queryTypeOfMetrics = `query typeOfMetrics(${TypeOfMetrics.variable}) {${TypeOfMetrics.query}}`; - -export const queryMetrics = `query queryData(${listMetrics.variable}) {${listMetrics.query}}`; +import { getAllTemplates, addTemplate, changeTemplate, deleteTemplate } from "../fragments/dashboard"; export const addNewTemplate = `mutation template(${addTemplate.variable}) {${addTemplate.query}}`; diff --git a/src/router/index.ts b/src/router/index.ts index 819539e7..cee1ee6e 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -37,16 +37,8 @@ const router = createRouter({ routes, }); -(window as any).axiosCancel = []; - -router.beforeEach((to, from, next) => { +router.beforeEach((to, _, next) => { // const token = window.localStorage.getItem("skywalking-authority"); - if ((window as any).axiosCancel.length !== 0) { - for (const func of (window as any).axiosCancel) { - setTimeout(func(), 0); - } - (window as any).axiosCancel = []; - } if (to.path === "/") { let defaultPath = ""; diff --git a/src/store/modules/alarm.ts b/src/store/modules/alarm.ts index c6d2fad6..ddca8243 100644 --- a/src/store/modules/alarm.ts +++ b/src/store/modules/alarm.ts @@ -17,7 +17,6 @@ import { defineStore } from "pinia"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import type { Alarm } from "@/types/alarm"; import { useAppStoreWithOut } from "@/store/modules/app"; @@ -37,30 +36,22 @@ export const alarmStore = defineStore({ actions: { async getAlarms(params: Recordable) { this.loading = true; - const res: AxiosResponse = await graphql.query("queryAlarms").params(params); + const res = await graphql.query("queryAlarms").params(params); this.loading = false; - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } - if (res.data.data.getAlarm.items) { - this.alarms = res.data.data.getAlarm.items; - this.total = res.data.data.getAlarm.total; + if (res.data.getAlarm.items) { + this.alarms = res.data.getAlarm.items; + this.total = res.data.getAlarm.total; } return res.data; }, async getAlarmTagKeys() { - const res: AxiosResponse = await graphql - .query("queryAlarmTagKeys") - .params({ duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryAlarmTagKeys").params({ duration: useAppStoreWithOut().durationTime }); }, async getAlarmTagValues(tagKey: string) { - const res: AxiosResponse = await graphql - .query("queryAlarmTagValues") - .params({ tagKey, duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryAlarmTagValues").params({ tagKey, duration: useAppStoreWithOut().durationTime }); }, }, }); diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index 0cbf1a89..34ab5835 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -19,7 +19,6 @@ import { store } from "@/store"; import graphql from "@/graphql"; import type { Duration, DurationTime } from "@/types/app"; import getLocalTime from "@/utils/localtime"; -import type { AxiosResponse } from "axios"; import dateFormatStep, { dateFormatTime } from "@/utils/dateFormat"; import { TimeType } from "@/constants/data"; import type { MenuOptions, SubItem } from "@/types/app"; @@ -118,12 +117,6 @@ export const appStore = defineStore({ actions: { setDuration(data: Duration): void { this.durationRow = data; - if ((window as any).axiosCancel.length !== 0) { - for (const event of (window as any).axiosCancel) { - setTimeout(event(), 0); - } - (window as any).axiosCancel = []; - } this.runEventStack(); }, updateDurationRow(data: Duration) { @@ -185,11 +178,11 @@ export const appStore = defineStore({ }); }, async queryOAPTimeInfo() { - const res: AxiosResponse = await graphql.query("queryOAPTimeInfo").params({}); - if (res.data.errors) { + const res = await graphql.query("queryOAPTimeInfo").params({}); + if (res.errors) { this.utc = -(new Date().getTimezoneOffset() / 60) + ":0"; } else { - this.utc = res.data.data.getTimeInfo.timezone / 100 + ":0"; + this.utc = res.data.getTimeInfo.timezone / 100 + ":0"; } const utcArr = this.utc.split(":"); this.utcHour = isNaN(Number(utcArr[0])) ? 0 : Number(utcArr[0]); @@ -197,21 +190,21 @@ export const appStore = defineStore({ return res.data; }, - async fetchVersion(): Promise { - const res: AxiosResponse = await graphql.query("queryOAPVersion").params({}); - if (res.data.errors) { - return res.data; + async fetchVersion() { + const res = await graphql.query("queryOAPVersion").params({}); + if (res.errors) { + return res; } - this.version = res.data.data.version; + this.version = res.data.version; return res.data; }, async queryMenuItems() { - const res: AxiosResponse = await graphql.query("queryMenuItems").params({}); - if (res.data.errors) { - return res.data; + const res = await graphql.query("queryMenuItems").params({}); + if (res.errors) { + return res; } - return res.data.data; + return res.data; }, setReloadTimer(timer: IntervalHandle) { this.reloadTimer = timer; diff --git a/src/store/modules/async-profiling.ts b/src/store/modules/async-profiling.ts index de865c8c..c1a72efe 100644 --- a/src/store/modules/async-profiling.ts +++ b/src/store/modules/async-profiling.ts @@ -25,7 +25,6 @@ import { store } from "@/store"; import graphql from "@/graphql"; import { useAppStoreWithOut } from "@/store/modules/app"; import { useSelectorStore } from "@/store/modules/selectors"; -import type { AxiosResponse } from "axios"; import type { Instance } from "@/types/selector"; interface AsyncProfilingState { @@ -59,79 +58,77 @@ export const asyncProfilingStore = defineStore({ async getTaskList() { const selectorStore = useSelectorStore(); this.loadingTasks = true; - const res: AxiosResponse = await graphql.query("getAsyncTaskList").params({ + const response = await graphql.query("getAsyncTaskList").params({ request: { serviceId: selectorStore.currentService.id, limit: 10000, }, }); this.loadingTasks = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.taskList = res.data.data.asyncTaskList.tasks || []; + this.taskList = response.data.asyncTaskList.tasks || []; this.selectedTask = this.taskList[0] || {}; this.setAnalyzeTrees([]); this.setSelectedTask(this.selectedTask); if (!this.taskList.length) { - return res.data; + return response; } - return res.data; + return response; }, async getTaskLogs(param: { taskID: string }) { - const res: AxiosResponse = await graphql.query("getAsyncProfileTaskProcess").params(param); + const response = await graphql.query("getAsyncProfileTaskProcess").params(param); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.taskProgress = res.data.data.taskProgress; - return res.data; + this.taskProgress = response.data.taskProgress; + return response; }, - async getServiceInstances(param: { serviceId: string; isRelation: boolean }): Promise> { + async getServiceInstances(param: { serviceId: string; isRelation: boolean }) { if (!param.serviceId) { return null; } - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const response = await graphql.query("queryInstances").params({ serviceId: param.serviceId, duration: useAppStoreWithOut().durationTime, }); - if (!res.data.errors) { - this.instances = (res.data.data.pods || []).map((d: Instance) => { + if (!response.errors) { + this.instances = (response.data.pods || []).map((d: Instance) => { d.value = d.id || ""; return d; }); } - return res.data; + return response; }, async createTask(param: AsyncProfileTaskCreationRequest) { - const res: AxiosResponse = await graphql - .query("saveAsyncProfileTask") - .params({ asyncProfilerTaskCreationRequest: param }); + const response = await graphql.query("saveAsyncProfileTask").params({ asyncProfilerTaskCreationRequest: param }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } this.getTaskList(); - return res.data; + return response; }, async getAsyncProfilingAnalyze(params: { taskId: string; instanceIds: Array; eventType: string }) { if (!params.instanceIds.length) { return new Promise((resolve) => resolve({})); } this.loadingTree = true; - const res: AxiosResponse = await graphql.query("getAsyncProfileAnalyze").params({ request: params }); + const response = await graphql.query("getAsyncProfileAnalyze").params({ request: params }); this.loadingTree = false; - if (res.data.errors) { + if (response.errors) { this.analyzeTrees = []; - return res.data; + return response; } - const { analysisResult } = res.data.data; + const { analysisResult } = response.data; if (!analysisResult) { this.analyzeTrees = []; - return res.data; + return response; } this.analyzeTrees = [analysisResult.tree]; - return res.data; + return response; }, }, }); diff --git a/src/store/modules/continous-profiling.ts b/src/store/modules/continous-profiling.ts index 2c6bc58a..ee9a56d1 100644 --- a/src/store/modules/continous-profiling.ts +++ b/src/store/modules/continous-profiling.ts @@ -21,7 +21,6 @@ import type { Instance } from "@/types/selector"; import { store } from "@/store"; import graphql from "@/graphql"; import type { MonitorInstance, MonitorProcess } from "@/types/continous-profiling"; -import type { AxiosResponse } from "axios"; import { dateFormat } from "@/utils/dateFormat"; interface ContinousProfilingState { @@ -84,37 +83,37 @@ export const continousProfilingStore = defineStore({ checkItems: CheckItems[]; }[], ) { - const res: AxiosResponse = await graphql.query("editStrategy").params({ + const response = await graphql.query("editStrategy").params({ request: { serviceId, targets, }, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - return res.data; + return response; }, async getStrategyList(params: { serviceId: string }) { if (!params.serviceId) { return new Promise((resolve) => resolve({})); } this.policyLoading = true; - const res: AxiosResponse = await graphql.query("getStrategyList").params(params); + const response = await graphql.query("getStrategyList").params(params); this.policyLoading = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - const list = res.data.data.strategyList || []; + const list = response.data.strategyList || []; if (!list.length) { this.taskList = []; this.instances = []; this.instance = null; } - const arr = list.length ? res.data.data.strategyList : [{ type: "", checkItems: [{ type: "" }] }]; + const arr = list.length ? response.data.strategyList : [{ type: "", checkItems: [{ type: "" }] }]; this.strategyList = arr.map((d: StrategyItem, index: number) => { return { ...d, @@ -123,25 +122,25 @@ export const continousProfilingStore = defineStore({ }); this.setSelectedStrategy(this.strategyList[0]); if (!this.selectedStrategy.type) { - return res.data; + return response; } this.getMonitoringInstances(params.serviceId); - return res.data; + return response; }, - async getMonitoringInstances(serviceId: string): Promise> { + async getMonitoringInstances(serviceId: string) { this.instancesLoading = true; if (!serviceId) { return null; } - const res: AxiosResponse = await graphql.query("getMonitoringInstances").params({ + const response = await graphql.query("getMonitoringInstances").params({ serviceId, target: this.selectedStrategy.type, }); this.instancesLoading = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.instances = (res.data.data.instances || []) + this.instances = (response.data.instances || []) .map((d: MonitorInstance) => { const processes = (d.processes || []) .sort((c: MonitorProcess, d: MonitorProcess) => d.lastTriggerTimestamp - c.lastTriggerTimestamp) @@ -161,7 +160,7 @@ export const continousProfilingStore = defineStore({ }) .sort((a: MonitorInstance, b: MonitorInstance) => b.lastTriggerTimestamp - a.lastTriggerTimestamp); this.instance = this.instances[0] || null; - return res.data; + return response; }, }, }); diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts index 666577c6..1eb35f71 100644 --- a/src/store/modules/dashboard.ts +++ b/src/store/modules/dashboard.ts @@ -18,11 +18,10 @@ import { defineStore } from "pinia"; import { store } from "@/store"; import type { LayoutConfig } from "@/types/dashboard"; import graphql from "@/graphql"; -import query from "@/graphql/fetch"; +import fetchQuery from "@/graphql/fetch"; import type { DashboardItem } from "@/types/dashboard"; import { useSelectorStore } from "@/store/modules/selectors"; import { NewControl, TextConfig, TimeRangeConfig, ControlsTypes } from "../data"; -import type { AxiosResponse } from "axios"; import { ElMessage } from "element-plus"; import { EntityType, WidgetType } from "@/views/dashboard/data"; interface DashboardState { @@ -299,37 +298,20 @@ export const dashboardStore = defineStore({ } } }, - async fetchMetricType(item: string) { - const res: AxiosResponse = await graphql.query("queryTypeOfMetrics").params({ name: item }); - - return res.data; - }, - async getTypeOfMQE(expression: string) { - const res: AxiosResponse = await graphql.query("getTypeOfMQE").params({ expression }); - - return res.data; - }, - async fetchMetricList(regex: string) { - const res: AxiosResponse = await graphql.query("queryMetrics").params({ regex }); - - return res.data; - }, async fetchMetricValue(param: { queryStr: string; conditions: { [key: string]: unknown } }) { - const res: AxiosResponse = await query(param); - return res.data; + return await fetchQuery(param); }, async fetchTemplates() { - const res: AxiosResponse = await graphql.query("getTemplates").params({}); + const res = await graphql.query("getTemplates").params({}); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } - const data = res.data.data.getAllTemplates; + const data = res.data.getAllTemplates; let list = []; for (const t of data) { const c = JSON.parse(t.configuration); const key = [c.layer, c.entity, c.name].join("_"); - list.push({ ...c, id: t.id, @@ -372,20 +354,20 @@ export const dashboardStore = defineStore({ this.dashboards = JSON.parse(sessionStorage.getItem("dashboards") || "[]"); }, async updateDashboard(setting: { id: string; configuration: string }) { - const res: AxiosResponse = await graphql.query("updateTemplate").params({ + const resp = await graphql.query("updateTemplate").params({ setting, }); - if (res.data.errors) { - ElMessage.error(res.data.errors); - return res.data; + if (resp.errors) { + ElMessage.error(resp.errors); + return resp; } - const json = res.data.data.changeTemplate; + const json = resp.data.changeTemplate; if (!json.status) { ElMessage.error(json.message); - return res.data; + return resp; } ElMessage.success("Saved successfully"); - return res.data; + return resp; }, async saveDashboard() { if (!this.currentDashboard?.name) { @@ -419,14 +401,14 @@ export const dashboardStore = defineStore({ } res = await graphql.query("addNewTemplate").params({ setting: { configuration: JSON.stringify(c) } }); - json = res.data.data.addTemplate; + json = res.data.addTemplate; if (!json.status) { ElMessage.error(json.message); } } - if (res.data.errors || res.errors) { - ElMessage.error(res.data.errors); - return res.data; + if (res.errors) { + ElMessage.error(res.errors); + return res; } if (!json.status) { return json; @@ -448,16 +430,16 @@ export const dashboardStore = defineStore({ return json; }, async deleteDashboard() { - const res: AxiosResponse = await graphql.query("removeTemplate").params({ id: this.currentDashboard?.id }); + const res = await graphql.query("removeTemplate").params({ id: this.currentDashboard?.id }); - if (res.data.errors) { - ElMessage.error(res.data.errors); - return res.data; + if (res.errors) { + ElMessage.error(res.errors); + return res; } - const json = res.data.data.disableTemplate; + const json = res.data.disableTemplate; if (!json.status) { ElMessage.error(json.message); - return res.data; + return res; } this.dashboards = this.dashboards.filter((d: Recordable) => d.id !== this.currentDashboard?.id); const key = [this.currentDashboard?.layer, this.currentDashboard?.entity, this.currentDashboard?.name].join("_"); diff --git a/src/store/modules/demand-log.ts b/src/store/modules/demand-log.ts index 1ac5481d..9611715c 100644 --- a/src/store/modules/demand-log.ts +++ b/src/store/modules/demand-log.ts @@ -18,7 +18,6 @@ import { defineStore } from "pinia"; import type { Instance } from "@/types/selector"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import { useSelectorStore } from "@/store/modules/selectors"; import type { Conditions, Log } from "@/types/demand-log"; @@ -60,16 +59,16 @@ export const demandLogStore = defineStore({ }, async getInstances(id: string) { const serviceId = this.selectorStore.currentService ? this.selectorStore.currentService.id : id; - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const response = await graphql.query("queryInstances").params({ serviceId, duration: useAppStoreWithOut().durationTime, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.instances = res.data.data.pods || []; - return res.data; + this.instances = response.data.pods || []; + return response; }, async getContainers(serviceInstanceId: string) { if (!serviceInstanceId) { @@ -78,35 +77,35 @@ export const demandLogStore = defineStore({ const condition = { serviceInstanceId, }; - const res: AxiosResponse = await graphql.query("fetchContainers").params({ condition }); + const response = await graphql.query("fetchContainers").params({ condition }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - if (res.data.data.containers.errorReason) { + if (response.data.containers.errorReason) { this.containers = [{ label: "", value: "" }]; - return res.data; + return response; } - this.containers = res.data.data.containers.containers.map((d: string) => { + this.containers = response.data.containers.containers.map((d: string) => { return { label: d, value: d }; }); - return res.data; + return response; }, async getDemandLogs() { this.loadLogs = true; - const res: AxiosResponse = await graphql.query("fetchDemandPodLogs").params({ condition: this.conditions }); + const response = await graphql.query("fetchDemandPodLogs").params({ condition: this.conditions }); this.loadLogs = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - if (res.data.data.logs.errorReason) { - this.setLogs([], res.data.data.logs.errorReason); - return res.data; + if (response.data.logs.errorReason) { + this.setLogs([], response.data.logs.errorReason); + return response; } - this.total = res.data.data.logs.logs.length; - const logs = res.data.data.logs.logs.map((d: Log) => d.content).join("\n"); + this.total = response.data.logs.logs.length; + const logs = response.data.logs.logs.map((d: Log) => d.content).join("\n"); this.setLogs(logs); - return res.data; + return response; }, }, }); diff --git a/src/store/modules/ebpf.ts b/src/store/modules/ebpf.ts index 69f90ecb..62fb3fa9 100644 --- a/src/store/modules/ebpf.ts +++ b/src/store/modules/ebpf.ts @@ -19,7 +19,6 @@ import type { Option } from "@/types/app"; import type { EBPFTaskCreationRequest, EBPFProfilingSchedule, EBPFTaskList, AnalyzationTrees } from "@/types/ebpf"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { EBPFProfilingTriggerType } from "../data"; interface EbpfState { taskList: Array>; @@ -57,70 +56,70 @@ export const ebpfStore = defineStore({ this.analyzeTrees = tree; }, async getCreateTaskData(serviceId: string) { - const res: AxiosResponse = await graphql.query("getCreateTaskData").params({ serviceId }); + const response = await graphql.query("getCreateTaskData").params({ serviceId }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - const json = res.data.data.createTaskData; + const json = response.data.createTaskData; this.couldProfiling = json.couldProfiling || false; this.labels = json.processLabels.map((d: string) => { return { label: d, value: d }; }); - return res.data; + return response; }, async createTask(param: EBPFTaskCreationRequest) { - const res: AxiosResponse = await graphql.query("saveEBPFTask").params({ request: param }); + const response = await graphql.query("saveEBPFTask").params({ request: param }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } this.getTaskList({ serviceId: param.serviceId, targets: ["ON_CPU", "OFF_CPU"], triggerType: EBPFProfilingTriggerType.FIXED_TIME, }); - return res.data; + return response; }, async getTaskList(params: { serviceId: string; targets: string[] }) { if (!params.serviceId) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getEBPFTasks").params(params); + const response = await graphql.query("getEBPFTasks").params(params); this.ebpfTips = ""; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.taskList = res.data.data.queryEBPFTasks || []; + this.taskList = response.data.queryEBPFTasks || []; this.selectedTask = this.taskList[0] || {}; this.setSelectedTask(this.selectedTask); if (!this.taskList.length) { - return res.data; + return response; } this.getEBPFSchedules({ taskId: String(this.taskList[0].taskId) }); - return res.data; + return response; }, async getEBPFSchedules(params: { taskId: string }) { if (!params.taskId) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getEBPFSchedules").params({ ...params }); + const response = await graphql.query("getEBPFSchedules").params({ ...params }); - if (res.data.errors) { + if (response.errors) { this.eBPFSchedules = []; - return res.data; + return response; } this.ebpfTips = ""; - const { eBPFSchedules } = res.data.data; + const { eBPFSchedules } = response.data; this.eBPFSchedules = eBPFSchedules; if (!eBPFSchedules.length) { this.eBPFSchedules = []; this.analyzeTrees = []; } - return res.data; + return response; }, async getEBPFAnalyze(params: { scheduleIdList: string[]; @@ -134,24 +133,24 @@ export const ebpfStore = defineStore({ if (!params.timeRanges.length) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getEBPFResult").params(params); + const response = await graphql.query("getEBPFResult").params(params); - if (res.data.errors) { + if (response.errors) { this.analyzeTrees = []; - return res.data; + return response; } - const { analysisEBPFResult } = res.data.data; + const { analysisEBPFResult } = response.data; this.ebpfTips = analysisEBPFResult.tip; if (!analysisEBPFResult) { this.analyzeTrees = []; - return res.data; + return response; } if (analysisEBPFResult.tip) { this.analyzeTrees = []; - return res.data; + return response; } this.analyzeTrees = analysisEBPFResult.trees; - return res.data; + return response; }, }, }); diff --git a/src/store/modules/event.ts b/src/store/modules/event.ts index 9b3954be..926123d4 100644 --- a/src/store/modules/event.ts +++ b/src/store/modules/event.ts @@ -17,7 +17,6 @@ import { defineStore } from "pinia"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import type { Event, QueryEventCondition } from "@/types/events"; import type { Instance, Endpoint } from "@/types/selector"; import { useAppStoreWithOut } from "@/store/modules/app"; @@ -47,48 +46,48 @@ export const eventStore = defineStore({ }, async getInstances() { const serviceId = useSelectorStore().currentService ? useSelectorStore().currentService.id : ""; - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const response = await graphql.query("queryInstances").params({ serviceId, duration: useAppStoreWithOut().durationTime, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.instances = [{ value: "", label: "All" }, ...res.data.data.pods]; - return res.data; + this.instances = [{ value: "", label: "All" }, ...response.data.pods]; + return response; }, async getEndpoints(keyword: string) { const serviceId = useSelectorStore().currentService ? useSelectorStore().currentService.id : ""; if (!serviceId) { return; } - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const response = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: keyword || "", limit: EndpointsTopNDefault, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.endpoints = [{ value: "", label: "All" }, ...res.data.data.pods]; - return res.data; + this.endpoints = [{ value: "", label: "All" }, ...response.data.pods]; + return response; }, async getEvents() { this.loading = true; - const res: AxiosResponse = await graphql.query("queryEvents").params({ + const response = await graphql.query("queryEvents").params({ condition: { ...this.condition, time: useAppStoreWithOut().durationTime, }, }); this.loading = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - if (res.data.data.fetchEvents) { - this.events = (res.data.data.fetchEvents.events || []).map((item: Event) => { + if (response.data.fetchEvents) { + this.events = (response.data.fetchEvents.events || []).map((item: Event) => { let scope = "Service"; if (item.source.serviceInstance) { scope = "ServiceInstance"; @@ -103,7 +102,7 @@ export const eventStore = defineStore({ return item; }); } - return res.data; + return response; }, }, }); diff --git a/src/store/modules/log.ts b/src/store/modules/log.ts index fc0c341f..9e24fa32 100644 --- a/src/store/modules/log.ts +++ b/src/store/modules/log.ts @@ -18,7 +18,6 @@ import { defineStore } from "pinia"; import type { Instance, Endpoint, Service } from "@/types/selector"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import { useSelectorStore } from "@/store/modules/selectors"; import { useDashboardStore } from "@/store/modules/dashboard"; @@ -62,51 +61,51 @@ export const logStore = defineStore({ }; }, async getServices(layer: string) { - const res: AxiosResponse = await graphql.query("queryServices").params({ + const response = await graphql.query("queryServices").params({ layer, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.services = res.data.data.services; - return res.data; + this.services = response.data.services; + return response; }, async getInstances(id: string) { const serviceId = this.selectorStore.currentService ? this.selectorStore.currentService.id : id; - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const response = await graphql.query("queryInstances").params({ serviceId, duration: useAppStoreWithOut().durationTime, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.instances = [{ value: "0", label: "All" }, ...res.data.data.pods]; - return res.data; + this.instances = [{ value: "0", label: "All" }, ...response.data.pods]; + return response; }, async getEndpoints(id: string, keyword?: string) { const serviceId = this.selectorStore.currentService ? this.selectorStore.currentService.id : id; - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const response = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: keyword || "", limit: EndpointsTopNDefault, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.endpoints = [{ value: "0", label: "All" }, ...res.data.data.pods]; - return res.data; + this.endpoints = [{ value: "0", label: "All" }, ...response.data.pods]; + return response; }, async getLogsByKeywords() { - const res: AxiosResponse = await graphql.query("queryLogsByKeywords").params({}); + const response = await graphql.query("queryLogsByKeywords").params({}); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.supportQueryLogsByKeywords = res.data.data.support; - return res.data; + this.supportQueryLogsByKeywords = response.data.support; + return response; }, async getLogs() { const dashboardStore = useDashboardStore(); @@ -117,39 +116,31 @@ export const logStore = defineStore({ }, async getServiceLogs() { this.loadLogs = true; - const res: AxiosResponse = await graphql.query("queryServiceLogs").params({ condition: this.conditions }); + const response = await graphql.query("queryServiceLogs").params({ condition: this.conditions }); this.loadLogs = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.logs = res.data.data.queryLogs.logs; - return res.data; + this.logs = response.data.queryLogs.logs; + return response; }, async getBrowserLogs() { this.loadLogs = true; - const res: AxiosResponse = await graphql.query("queryBrowserErrorLogs").params({ condition: this.conditions }); + const response = await graphql.query("queryBrowserErrorLogs").params({ condition: this.conditions }); this.loadLogs = false; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.logs = res.data.data.queryBrowserErrorLogs.logs; - return res.data; + this.logs = response.data.queryBrowserErrorLogs.logs; + return response; }, async getLogTagKeys() { - const res: AxiosResponse = await graphql - .query("queryLogTagKeys") - .params({ duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryLogTagKeys").params({ duration: useAppStoreWithOut().durationTime }); }, async getLogTagValues(tagKey: string) { - const res: AxiosResponse = await graphql - .query("queryLogTagValues") - .params({ tagKey, duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryLogTagValues").params({ tagKey, duration: useAppStoreWithOut().durationTime }); }, }, }); diff --git a/src/store/modules/network-profiling.ts b/src/store/modules/network-profiling.ts index 5a6d6ce8..e8f33864 100644 --- a/src/store/modules/network-profiling.ts +++ b/src/store/modules/network-profiling.ts @@ -18,7 +18,6 @@ import { defineStore } from "pinia"; import type { EBPFTaskList, ProcessNode } from "@/types/ebpf"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import type { Call } from "@/types/topology"; import type { LayoutConfig } from "@/types/dashboard"; import { ElMessage } from "element-plus"; @@ -126,65 +125,65 @@ export const networkProfilingStore = defineStore({ minDuration: number; }[], ) { - const res: AxiosResponse = await graphql.query("newNetworkProfiling").params({ + const response = await graphql.query("newNetworkProfiling").params({ request: { instanceId, samplings: params, }, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - return res.data; + return response; }, async getTaskList(params: { serviceId: string; serviceInstanceId: string; targets: string[] }) { if (!params.serviceId) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getEBPFTasks").params(params); + const response = await graphql.query("getEBPFTasks").params(params); this.networkTip = ""; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.networkTasks = res.data.data.queryEBPFTasks || []; + this.networkTasks = response.data.queryEBPFTasks || []; this.selectedNetworkTask = this.networkTasks[0] || {}; this.setSelectedNetworkTask(this.selectedNetworkTask); if (!this.networkTasks.length) { this.nodes = []; this.calls = []; } - return res.data; + return response; }, async keepNetworkProfiling(taskId: string) { if (!taskId) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("aliveNetworkProfiling").params({ taskId }); + const response = await graphql.query("aliveNetworkProfiling").params({ taskId }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.aliveNetwork = res.data.data.keepEBPFNetworkProfiling.status; + this.aliveNetwork = response.data.keepEBPFNetworkProfiling.status; if (!this.aliveNetwork) { - ElMessage.warning(res.data.data.keepEBPFNetworkProfiling.errorReason); + ElMessage.warning(response.data.keepEBPFNetworkProfiling.errorReason); } - return res.data; + return response; }, async getProcessTopology(params: { duration: DurationTime; serviceInstanceId: string }) { this.loadNodes = true; - const res: AxiosResponse = await graphql.query("getProcessTopology").params(params); + const response = await graphql.query("getProcessTopology").params(params); this.loadNodes = false; - if (res.data.errors) { + if (response.errors) { this.nodes = []; this.calls = []; - return res.data; + return response; } - const { topology } = res.data.data; + const { topology } = response.data; this.setTopology(topology); - return res.data; + return response; }, }, }); diff --git a/src/store/modules/profile.ts b/src/store/modules/profile.ts index 7409ff85..4a22511d 100644 --- a/src/store/modules/profile.ts +++ b/src/store/modules/profile.ts @@ -26,7 +26,6 @@ import type { import type { Trace } from "@/types/trace"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import { EndpointsTopNDefault } from "../data"; @@ -94,38 +93,38 @@ export const profileStore = defineStore({ this.highlightTop = !this.highlightTop; }, async getEndpoints(serviceId: string, keyword?: string) { - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const response = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: keyword || "", limit: EndpointsTopNDefault, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.endpoints = res.data.data.pods || []; - return res.data; + this.endpoints = response.data.pods || []; + return response.data; }, async getTaskEndpoints(serviceId: string, keyword?: string) { - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const response = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: keyword || "", limit: EndpointsTopNDefault, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.taskEndpoints = [{ value: "", label: "All" }, ...res.data.data.pods]; - return res.data; + this.taskEndpoints = [{ value: "", label: "All" }, ...response.data.pods]; + return response; }, async getTaskList() { - const res: AxiosResponse = await graphql.query("getProfileTaskList").params(this.condition); + const response = await graphql.query("getProfileTaskList").params(this.condition); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - const list = res.data.data.taskList || []; + const list = response.data.taskList || []; this.taskList = list; this.currentTask = list[0] || {}; if (!list.length) { @@ -133,29 +132,29 @@ export const profileStore = defineStore({ this.segmentSpans = []; this.analyzeTrees = []; - return res.data; + return response; } this.getSegmentList({ taskID: list[0].id }); - return res.data; + return response; }, async getSegmentList(params: { taskID: string }) { if (!params.taskID) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getProfileTaskSegmentList").params(params); + const response = await graphql.query("getProfileTaskSegmentList").params(params); - if (res.data.errors) { + if (response.errors) { this.segmentList = []; - return res.data; + return response; } - const { segmentList } = res.data.data; + const { segmentList } = response.data; this.segmentList = segmentList || []; if (!segmentList.length) { this.segmentSpans = []; this.analyzeTrees = []; - return res.data; + return response; } if (segmentList[0]) { this.setCurrentSegment(segmentList[0]); @@ -163,22 +162,22 @@ export const profileStore = defineStore({ } else { this.setCurrentSegment({}); } - return res.data; + return response; }, async getSegmentSpans(params: { segmentId: string }) { if (!(params && params.segmentId)) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("queryProfileSegment").params(params); - if (res.data.errors) { + const response = await graphql.query("queryProfileSegment").params(params); + if (response.errors) { this.segmentSpans = []; - return res.data; + return response; } - const { segment } = res.data.data; + const { segment } = response.data; if (!segment) { this.segmentSpans = []; this.analyzeTrees = []; - return res.data; + return response; } this.segmentSpans = segment.spans.map((d: SegmentSpan) => { return { @@ -189,52 +188,52 @@ export const profileStore = defineStore({ }); if (!(segment.spans && segment.spans.length)) { this.analyzeTrees = []; - return res.data; + return response; } const index = segment.spans.length - 1 || 0; this.currentSpan = segment.spans[index]; - return res.data; + return response; }, async getProfileAnalyze(params: Array<{ segmentId: string; timeRange: { start: number; end: number } }>) { if (!params.length) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getProfileAnalyze").params({ queries: params }); + const response = await graphql.query("getProfileAnalyze").params({ queries: params }); - if (res.data.errors) { + if (response.errors) { this.analyzeTrees = []; - return res.data; + return response; } - const { analyze, tip } = res.data.data; + const { analyze, tip } = response.data; if (tip) { this.analyzeTrees = []; - return res.data; + return response; } if (!analyze) { this.analyzeTrees = []; - return res.data; + return response; } this.analyzeTrees = analyze.trees; - return res.data; + return response; }, async createTask(param: ProfileTaskCreationRequest) { - const res: AxiosResponse = await graphql.query("saveProfileTask").params({ creationRequest: param }); + const response = await graphql.query("saveProfileTask").params({ creationRequest: param }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } this.getTaskList(); - return res.data; + return response; }, async getTaskLogs(param: { taskID: string }) { - const res: AxiosResponse = await graphql.query("getProfileTaskLogs").params(param); + const response = await graphql.query("getProfileTaskLogs").params(param); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.taskLogs = res.data.data.taskLogs; - return res.data; + this.taskLogs = response.data.taskLogs; + return response; }, }, }); diff --git a/src/store/modules/selectors.ts b/src/store/modules/selectors.ts index 0c1da36b..71e2dbac 100644 --- a/src/store/modules/selectors.ts +++ b/src/store/modules/selectors.ts @@ -18,7 +18,6 @@ import { defineStore } from "pinia"; import type { Service, Instance, Endpoint, Process } from "@/types/selector"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import { EndpointsTopNDefault } from "../data"; interface SelectorState { @@ -77,62 +76,55 @@ export const selectorStore = defineStore({ setDestProcesses(processes: Array) { this.destProcesses = processes; }, - async fetchLayers(): Promise { - const res: AxiosResponse = await graphql.query("queryLayers").params({}); - - return res.data || {}; + async fetchLayers() { + return await graphql.query("queryLayers").params({}); }, - async fetchServices(layer: string): Promise { - const res: AxiosResponse = await graphql.query("queryServices").params({ layer }); + async fetchServices(layer: string) { + const res = await graphql.query("queryServices").params({ layer }); - if (!res.data.errors) { - this.services = res.data.data.services || []; - this.destServices = res.data.data.services || []; + if (!res.errors) { + this.services = res.data.services || []; + this.destServices = res.data.services || []; } return res.data; }, - async getServiceInstances(param?: { serviceId: string; isRelation: boolean }): Promise> { + async getServiceInstances(param?: { serviceId: string; isRelation: boolean }) { const serviceId = param ? param.serviceId : this.currentService?.id; if (!serviceId) { return null; } - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const resp = await graphql.query("queryInstances").params({ serviceId, duration: useAppStoreWithOut().durationTime, }); - if (!res.data.errors) { + if (!resp.errors) { if (param && param.isRelation) { - this.destPods = res.data.data.pods || []; - return res.data; + this.destPods = resp.data.pods || []; + return resp; } - this.pods = res.data.data.pods || []; + this.pods = resp.data.pods || []; } - return res.data; + return resp; }, - async getProcesses(param?: { instanceId: string; isRelation: boolean }): Promise> { + async getProcesses(param?: { instanceId: string; isRelation: boolean }) { const instanceId = param ? param.instanceId : this.currentPod?.id; if (!instanceId) { return null; } - const res: AxiosResponse = await graphql.query("queryProcesses").params({ + const res = await graphql.query("queryProcesses").params({ instanceId, duration: useAppStoreWithOut().durationTime, }); - if (!res.data.errors) { + if (!res.errors) { if (param && param.isRelation) { - this.destProcesses = res.data.data.processes || []; - return res.data; + this.destProcesses = res.data.processes || []; + return res; } - this.processes = res.data.data.processes || []; + this.processes = res.data.processes || []; } - return res.data; + return res; }, - async getEndpoints(params: { - keyword?: string; - serviceId?: string; - isRelation?: boolean; - limit?: number; - }): Promise> { + async getEndpoints(params: { keyword?: string; serviceId?: string; isRelation?: boolean; limit?: number }) { if (!params) { params = {}; } @@ -140,96 +132,96 @@ export const selectorStore = defineStore({ if (!serviceId) { return null; } - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const res = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: params.keyword || "", limit: params.limit || EndpointsTopNDefault, }); - if (!res.data.errors) { + if (!res.errors) { if (params.isRelation) { - this.destPods = res.data.data.pods || []; - return res.data; + this.destPods = res.data.pods || []; + return res; } - this.pods = res.data.data.pods || []; + this.pods = res.data.pods || []; } - return res.data; + return res; }, async getService(serviceId: string, isRelation: boolean) { if (!serviceId) { return; } - const res: AxiosResponse = await graphql.query("queryService").params({ + const res = await graphql.query("queryService").params({ serviceId, }); - if (!res.data.errors) { + if (!res.errors) { if (isRelation) { - this.setCurrentDestService(res.data.data.service); - this.destServices = [res.data.data.service]; - return res.data; + this.setCurrentDestService(res.data.service); + this.destServices = [res.data.service]; + return res; } - this.setCurrentService(res.data.data.service); - this.services = [res.data.data.service]; + this.setCurrentService(res.data.service); + this.services = [res.data.service]; } - return res.data; + return res; }, async getInstance(instanceId: string, isRelation?: boolean) { if (!instanceId) { return; } - const res: AxiosResponse = await graphql.query("queryInstance").params({ + const res = await graphql.query("queryInstance").params({ instanceId, }); - if (!res.data.errors) { + if (!res.errors) { if (isRelation) { - this.currentDestPod = res.data.data.instance || null; - this.destPods = [res.data.data.instance]; - return res.data; + this.currentDestPod = res.data.instance || null; + this.destPods = [res.data.instance]; + return res; } - this.currentPod = res.data.data.instance || null; - this.pods = [res.data.data.instance]; + this.currentPod = res.data.instance || null; + this.pods = [res.data.instance]; } - return res.data; + return res; }, async getEndpoint(endpointId: string, isRelation?: string) { if (!endpointId) { return; } - const res: AxiosResponse = await graphql.query("queryEndpoint").params({ + const res = await graphql.query("queryEndpoint").params({ endpointId, }); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } if (isRelation) { - this.currentDestPod = res.data.data.endpoint || null; - this.destPods = [res.data.data.endpoint]; - return res.data; + this.currentDestPod = res.data.endpoint || null; + this.destPods = [res.data.endpoint]; + return res; } - this.currentPod = res.data.data.endpoint || null; - this.pods = [res.data.data.endpoint]; - return res.data; + this.currentPod = res.data.endpoint || null; + this.pods = [res.data.endpoint]; + return res; }, async getProcess(processId: string, isRelation?: boolean) { if (!processId) { return; } - const res: AxiosResponse = await graphql.query("queryProcess").params({ + const res = await graphql.query("queryProcess").params({ processId, }); - if (!res.data.errors) { + if (!res.errors) { if (isRelation) { - this.currentDestProcess = res.data.data.process || null; - this.destProcesses = [res.data.data.process]; + this.currentDestProcess = res.data.process || null; + this.destProcesses = [res.data.process]; return res.data; } - this.currentProcess = res.data.data.process || null; - this.processes = [res.data.data.process]; + this.currentProcess = res.data.process || null; + this.processes = [res.data.process]; } - return res.data; + return res; }, }, }); diff --git a/src/store/modules/task-timeline.ts b/src/store/modules/task-timeline.ts index 25a411a7..850b0485 100644 --- a/src/store/modules/task-timeline.ts +++ b/src/store/modules/task-timeline.ts @@ -18,7 +18,6 @@ import { defineStore } from "pinia"; import { ElMessage } from "element-plus"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import type { EBPFTaskList } from "@/types/ebpf"; import { useNetworkProfilingStore } from "@/store/modules/network-profiling"; @@ -57,20 +56,18 @@ export const taskTimelineStore = defineStore({ return new Promise((resolve) => resolve({})); } this.loading = true; - const res: AxiosResponse = await graphql.query("getEBPFTasks").params(params); + const response = await graphql.query("getEBPFTasks").params(params); this.loading = false; this.errorTip = ""; - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } const selectorStore = useSelectorStore(); - this.taskList = (res.data.data.queryEBPFTasks || []).filter( + this.taskList = (response.data.queryEBPFTasks || []).filter( (d: EBPFTaskList) => selectorStore.currentProcess && d.processId === selectorStore.currentProcess.id, ); - // this.selectedTask = this.taskList[0] || {}; - // await this.getGraphData(); - return res.data; + return response; }, async getGraphData() { let res: any = {}; diff --git a/src/store/modules/topology.ts b/src/store/modules/topology.ts index d4a580b6..b16d7611 100644 --- a/src/store/modules/topology.ts +++ b/src/store/modules/topology.ts @@ -21,8 +21,7 @@ import graphql from "@/graphql"; import { useSelectorStore } from "@/store/modules/selectors"; import { useDashboardStore } from "@/store/modules/dashboard"; import { useAppStoreWithOut } from "@/store/modules/app"; -import type { AxiosResponse } from "axios"; -import query from "@/graphql/fetch"; +import fetchQuery from "@/graphql/fetch"; import { useQueryTopologyExpressionsProcessor } from "@/hooks/useExpressionsProcessor"; interface MetricVal { @@ -305,14 +304,14 @@ export const topologyStore = defineStore({ return new Promise((resolve) => resolve({})); } const duration = useAppStoreWithOut().durationTime; - const res: AxiosResponse = await graphql.query("getServicesTopology").params({ + const res = await graphql.query("getServicesTopology").params({ serviceIds, duration, }); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } - return res.data.data.topology; + return res.data.topology; }, async getInstanceTopology() { const { currentService, currentDestService } = useSelectorStore(); @@ -322,15 +321,15 @@ export const topologyStore = defineStore({ if (!(serverServiceId && clientServiceId)) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql.query("getInstanceTopology").params({ + const res = await graphql.query("getInstanceTopology").params({ clientServiceId, serverServiceId, duration, }); - if (!res.data.errors) { - this.setInstanceTopology(res.data.data.topology); + if (!res.errors) { + this.setInstanceTopology(res.data.topology); } - return res.data; + return res; }, async updateEndpointTopology(endpointIds: string[], depth: number) { if (!endpointIds.length) { @@ -432,12 +431,12 @@ export const topologyStore = defineStore({ }); const queryStr = `query queryData(${variables}) {${fragment}}`; const conditions = { duration }; - const res: AxiosResponse = await query({ queryStr, conditions }); + const res = await fetchQuery({ queryStr, conditions }); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } - const topo = res.data.data; + const topo = res.data; const calls = [] as Call[]; const nodes = [] as Node[]; for (const key of Object.keys(topo)) { @@ -449,13 +448,13 @@ export const topologyStore = defineStore({ return { calls, nodes }; }, async getTopologyExpressionValue(param: { queryStr: string; conditions: { [key: string]: unknown } }) { - const res: AxiosResponse = await query(param); + const res = await fetchQuery(param); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } - return res.data; + return res; }, async getLinkExpressions(expressions: string[], type: string) { if (!expressions.length) { @@ -503,22 +502,20 @@ export const topologyStore = defineStore({ if (!(id && layer)) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql - .query("getHierarchyServiceTopology") - .params({ serviceId: id, layer: layer }); - if (res.data.errors) { - return res.data; + const res = await graphql.query("getHierarchyServiceTopology").params({ serviceId: id, layer: layer }); + if (res.errors) { + return res; } const resp = await this.getListLayerLevels(); if (resp.errors) { return resp; } - const levels = resp.data.levels || []; - this.setHierarchyServiceTopology(res.data.data.hierarchyServiceTopology || {}, levels); - return res.data; + const levels = resp.levels || []; + this.setHierarchyServiceTopology(res.data.hierarchyServiceTopology || {}, levels); + return res; }, async getListLayerLevels() { - const res: AxiosResponse = await graphql.query("queryListLayerLevels").params({}); + const res = await graphql.query("queryListLayerLevels").params({}); return res.data; }, @@ -529,19 +526,19 @@ export const topologyStore = defineStore({ if (!(currentPod && dashboardStore.layerId)) { return new Promise((resolve) => resolve({})); } - const res: AxiosResponse = await graphql + const res = await graphql .query("getHierarchyInstanceTopology") .params({ instanceId: currentPod.id, layer: dashboardStore.layerId }); - if (res.data.errors) { - return res.data; + if (res.errors) { + return res; } const resp = await this.getListLayerLevels(); if (resp.errors) { return resp; } - const levels = resp.data.levels || []; - this.setHierarchyInstanceTopology(res.data.data.hierarchyInstanceTopology || {}, levels); - return res.data; + const levels = resp.levels || []; + this.setHierarchyInstanceTopology(res.data.hierarchyInstanceTopology || {}, levels); + return res; }, async queryHierarchyNodeExpressions(expressions: string[], layer: string) { const nodes = this.hierarchyServiceNodes.filter((n: HierarchyNode) => n.layer === layer); diff --git a/src/store/modules/trace.ts b/src/store/modules/trace.ts index 2d507aa5..9c257b39 100644 --- a/src/store/modules/trace.ts +++ b/src/store/modules/trace.ts @@ -19,7 +19,6 @@ import type { Instance, Endpoint, Service } from "@/types/selector"; import type { Trace, Span } from "@/types/trace"; import { store } from "@/store"; import graphql from "@/graphql"; -import type { AxiosResponse } from "axios"; import { useAppStoreWithOut } from "@/store/modules/app"; import { useSelectorStore } from "@/store/modules/selectors"; import { QueryOrders } from "@/views/dashboard/data"; @@ -81,125 +80,115 @@ export const traceStore = defineStore({ }; }, async getServices(layer: string) { - const res: AxiosResponse = await graphql.query("queryServices").params({ + const response = await graphql.query("queryServices").params({ layer, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.services = res.data.data.services; - return res.data; + this.services = response.data.services; + return response; }, async getService(serviceId: string) { if (!serviceId) { return; } - const res: AxiosResponse = await graphql.query("queryService").params({ + const response = await graphql.query("queryService").params({ serviceId, }); - return res.data; + return response; }, async getInstance(instanceId: string) { if (!instanceId) { return; } - const res: AxiosResponse = await graphql.query("queryInstance").params({ + const response = await graphql.query("queryInstance").params({ instanceId, }); - return res.data; + return response; }, async getEndpoint(endpointId: string) { if (!endpointId) { return; } - const res: AxiosResponse = await graphql.query("queryEndpoint").params({ + return await graphql.query("queryEndpoint").params({ endpointId, }); - - return res.data; }, async getInstances(id: string) { const serviceId = this.selectorStore.currentService ? this.selectorStore.currentService.id : id; - const res: AxiosResponse = await graphql.query("queryInstances").params({ + const response = await graphql.query("queryInstances").params({ serviceId: serviceId, duration: useAppStoreWithOut().durationTime, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.instances = [{ value: "0", label: "All" }, ...res.data.data.pods]; - return res.data; + this.instances = [{ value: "0", label: "All" }, ...response.data.pods]; + return response; }, async getEndpoints(id: string, keyword?: string) { const serviceId = this.selectorStore.currentService ? this.selectorStore.currentService.id : id; - const res: AxiosResponse = await graphql.query("queryEndpoints").params({ + const response = await graphql.query("queryEndpoints").params({ serviceId, duration: useAppStoreWithOut().durationTime, keyword: keyword || "", limit: EndpointsTopNDefault, }); - if (res.data.errors) { - return res.data; + if (response.errors) { + return response; } - this.endpoints = [{ value: "0", label: "All" }, ...res.data.data.pods]; - return res.data; + this.endpoints = [{ value: "0", label: "All" }, ...response.data.pods]; + return response; }, async getTraces() { - const res: AxiosResponse = await graphql.query("queryTraces").params({ condition: this.conditions }); - if (res.data.errors) { - return res.data; + const response = await graphql.query("queryTraces").params({ condition: this.conditions }); + if (response.errors) { + return response; } - if (!res.data.data.data.traces.length) { + if (!response.data.data.traces.length) { this.traceList = []; this.setCurrentTrace({}); this.setTraceSpans([]); - return res.data; + return response; } - this.getTraceSpans({ traceId: res.data.data.data.traces[0].traceIds[0] }); - this.traceList = res.data.data.data.traces.map((d: Trace) => { + this.getTraceSpans({ traceId: response.data.data.traces[0].traceIds[0] }); + this.traceList = response.data.data.traces.map((d: Trace) => { d.traceIds = d.traceIds.map((id: string) => { return { value: id, label: id }; }); return d; }); - this.setCurrentTrace(res.data.data.data.traces[0] || {}); - return res.data; + this.setCurrentTrace(response.data.data.traces[0] || {}); + return response; }, async getTraceSpans(params: { traceId: string }) { - const res: AxiosResponse = await graphql.query("queryTrace").params(params); - if (res.data.errors) { - return res.data; + const response = await graphql.query("queryTrace").params(params); + if (response.errors) { + return response; } - const data = res.data.data.trace.spans; + const data = response.data.trace.spans; this.setTraceSpans(data || []); - return res.data; + return response; }, async getSpanLogs(params: Recordable) { - const res: AxiosResponse = await graphql.query("queryServiceLogs").params(params); - if (res.data.errors) { + const response = await graphql.query("queryServiceLogs").params(params); + if (response.errors) { this.traceSpanLogs = []; - return res.data; + return response; } - this.traceSpanLogs = res.data.data.queryLogs.logs || []; - return res.data; + this.traceSpanLogs = response.data.queryLogs.logs || []; + return response; }, async getTagKeys() { - const res: AxiosResponse = await graphql - .query("queryTraceTagKeys") - .params({ duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryTraceTagKeys").params({ duration: useAppStoreWithOut().durationTime }); }, async getTagValues(tagKey: string) { - const res: AxiosResponse = await graphql - .query("queryTraceTagValues") - .params({ tagKey, duration: useAppStoreWithOut().durationTime }); - - return res.data; + return await graphql.query("queryTraceTagValues").params({ tagKey, duration: useAppStoreWithOut().durationTime }); }, }, }); diff --git a/src/utils/cancelToken.ts b/src/utils/cancelToken.ts deleted file mode 100644 index a4466adf..00000000 --- a/src/utils/cancelToken.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import axios from "axios"; -const CancelToken = axios.CancelToken; - -export const cancelToken = (): any => - new CancelToken(function executor(c) { - const w = window as any; - (w.axiosCancel || []).push(c); - }); diff --git a/src/views/dashboard/related/topology/config/Settings.vue b/src/views/dashboard/related/topology/config/Settings.vue index d8929b5b..4e8602e3 100644 --- a/src/views/dashboard/related/topology/config/Settings.vue +++ b/src/views/dashboard/related/topology/config/Settings.vue @@ -148,7 +148,7 @@ limitations under the License. -->
Unhealthy Description
- + {{ t("setLegend") }} @@ -208,11 +208,6 @@ limitations under the License. --> getDashboardList(); async function getDashboardList() { const list = JSON.parse(sessionStorage.getItem("dashboards") || "[]"); - const json = await dashboardStore.fetchMetricList(); - if (json.errors) { - ElMessage.error(json.errors); - return; - } const entity = dashboardStore.entity === EntityType[1].value ? EntityType[0].value diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index a7440124..0c8b8461 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -26,6 +26,5 @@ declare global { interface Window { Promise: any; moment: any; - axiosCancel: any; } }