diff --git a/package-lock.json b/package-lock.json
index 27bcc9e3..80ca023b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9634,9 +9634,9 @@
"integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
},
"node_modules/d3-color": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
- "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
"engines": {
"node": ">=12"
}
@@ -37292,9 +37292,9 @@
"integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
},
"d3-color": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
- "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw=="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="
},
"d3-contour": {
"version": "3.0.1",
diff --git a/src/assets/icons/gateway.svg b/src/assets/icons/gateway.svg
new file mode 100644
index 00000000..4df4b905
--- /dev/null
+++ b/src/assets/icons/gateway.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/src/locales/lang/en.ts b/src/locales/lang/en.ts
index 222420ba..b2e99d90 100644
--- a/src/locales/lang/en.ts
+++ b/src/locales/lang/en.ts
@@ -155,8 +155,7 @@ const msg = {
query: "Query",
postgreSQL: "PostgreSQL",
endpointTips: "The table shows up to 20 pieces of endpoints.",
- viewTrace: "View related traces",
- copyName: "Copy name",
+ apisix: "APISIX",
seconds: "Seconds",
hourTip: "Select Hour",
minuteTip: "Select Minute",
@@ -348,5 +347,6 @@ const msg = {
conditionNotice:
"Notice: Please press Enter after inputting a key of content, exclude key of content(key=value).",
language: "Language",
+ gateway: "Gateway",
};
export default msg;
diff --git a/src/locales/lang/es.ts b/src/locales/lang/es.ts
index cba44848..ff804de0 100644
--- a/src/locales/lang/es.ts
+++ b/src/locales/lang/es.ts
@@ -155,8 +155,7 @@ const msg = {
query: "Consulta",
postgreSQL: "PostgreSQL",
endpointTips: "Aquí, la tabla muestra hasta 20 punto final.",
- viewTrace: "Ver trazas relacionadas",
- copyName: "Nombre de la copia",
+ apisix: "APISIX",
seconds: "Segundos",
hourTip: "Seleccione Hora",
minuteTip: "Seleccione Minuto",
@@ -351,5 +350,6 @@ const msg = {
conditionNotice:
"Aviso: Por favor presione Intro después de introducir una clave de contenido, excluir clave de contenido(clave=valor).",
language: "Lenguaje",
+ gateway: "Puerta",
};
export default msg;
diff --git a/src/locales/lang/zh.ts b/src/locales/lang/zh.ts
index 425c7cba..87e2542b 100644
--- a/src/locales/lang/zh.ts
+++ b/src/locales/lang/zh.ts
@@ -152,8 +152,7 @@ const msg = {
query: "查询",
postgreSQL: "PostgreSQL",
endpointTips: "这里最多展示20条endpoints。",
- viewTrace: "查看相关traces",
- copyName: "复制名称",
+ apisix: "APISIX",
seconds: "秒",
hourTip: "选择小时",
minuteTip: "选择分钟",
@@ -348,5 +347,6 @@ const msg = {
conditionNotice:
"请输入一个内容关键词或者内容不包含的关键词(key=value)之后回车",
language: "语言",
+ gateway: "网关",
};
export default msg;
diff --git a/src/router/data/gateway.ts b/src/router/data/gateway.ts
new file mode 100644
index 00000000..f3814381
--- /dev/null
+++ b/src/router/data/gateway.ts
@@ -0,0 +1,47 @@
+/**
+ * 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.
+ */
+
+export default [
+ {
+ path: "",
+ name: "Gateway",
+ meta: {
+ title: "gateway",
+ icon: "gateway",
+ hasGroup: true,
+ },
+ redirect: "/apisix",
+ children: [
+ {
+ path: "/apisix",
+ name: "APISIX",
+ meta: {
+ title: "apisix",
+ layer: "APISIX",
+ },
+ },
+ {
+ path: "/apisix/tab/:activeTabIndex",
+ name: "APISIXActiveTabIndex",
+ meta: {
+ notShow: true,
+ layer: "APISIX",
+ },
+ },
+ ],
+ },
+];
diff --git a/src/router/data/index.ts b/src/router/data/index.ts
index 54a55b52..d6965b20 100644
--- a/src/router/data/index.ts
+++ b/src/router/data/index.ts
@@ -22,6 +22,7 @@ import selfObservability from "./selfObservability";
import functions from "./functions";
import browser from "./browser";
import k8s from "./k8s";
+import gateway from "./gateway";
export default [
...general,
@@ -30,6 +31,7 @@ export default [
...k8s,
...infrastructure,
...browser,
+ ...gateway,
...database,
...selfObservability,
];
diff --git a/src/views/dashboard/related/log/Header.vue b/src/views/dashboard/related/log/Header.vue
index c93770eb..ecdbb713 100644
--- a/src/views/dashboard/related/log/Header.vue
+++ b/src/views/dashboard/related/log/Header.vue
@@ -193,22 +193,22 @@ async function init() {
state.endpoint = { value: "0", label: "All" };
}
-function fetchSelectors() {
+async function fetchSelectors() {
if (dashboardStore.entity === EntityType[1].value) {
- getServices();
+ await getServices();
return;
}
if (dashboardStore.entity === EntityType[2].value) {
- getInstances();
+ await getInstances();
return;
}
if (dashboardStore.entity === EntityType[3].value) {
- getEndpoints();
+ await getEndpoints();
return;
}
if (dashboardStore.entity === EntityType[0].value) {
- getInstances();
- getEndpoints();
+ await getInstances();
+ await getEndpoints();
}
}
diff --git a/src/views/dashboard/related/trace/components/D3Graph/Index.vue b/src/views/dashboard/related/trace/components/D3Graph/Index.vue
index 35f3db68..a95d42d2 100644
--- a/src/views/dashboard/related/trace/components/D3Graph/Index.vue
+++ b/src/views/dashboard/related/trace/components/D3Graph/Index.vue
@@ -362,14 +362,6 @@ watch(
border-radius: 4px;
}
-.trace-list .trace-node rect {
- cursor: pointer;
-
- &:hover {
- fill: rgba(0, 0, 0, 0.05);
- }
-}
-
.dialog-c-text {
white-space: pre;
overflow: auto;
diff --git a/src/views/dashboard/related/trace/components/D3Graph/SpanDetail.vue b/src/views/dashboard/related/trace/components/D3Graph/SpanDetail.vue
index eb534c1f..061325f8 100644
--- a/src/views/dashboard/related/trace/components/D3Graph/SpanDetail.vue
+++ b/src/views/dashboard/related/trace/components/D3Graph/SpanDetail.vue
@@ -81,34 +81,75 @@ limitations under the License. -->
{{ t("relatedTraceLogs") }}
+
+
+
+
+ {{ t("noData") }}
+
+
+