diff --git a/src/store/modules/dashboard.ts b/src/store/modules/dashboard.ts
index 450c2373..213510fa 100644
--- a/src/store/modules/dashboard.ts
+++ b/src/store/modules/dashboard.ts
@@ -113,7 +113,16 @@ export const dashboardStore = defineStore({
: 3,
};
}
- if (["Trace", "Profile", "Log", "DemandLog", "Ebpf"].includes(type)) {
+ if (
+ [
+ "Trace",
+ "Profile",
+ "Log",
+ "DemandLog",
+ "Ebpf",
+ "NetworkProfiling",
+ ].includes(type)
+ ) {
newItem.h = 36;
}
if (type === "Text") {
@@ -170,7 +179,16 @@ export const dashboardStore = defineStore({
showDepth: true,
};
}
- if (["Trace", "Profile", "Log", "DemandLog", "Ebpf"].includes(type)) {
+ if (
+ [
+ "Trace",
+ "Profile",
+ "Log",
+ "DemandLog",
+ "Ebpf",
+ "NetworkProfiling",
+ ].includes(type)
+ ) {
newItem.h = 32;
}
if (type === "Text") {
diff --git a/src/views/dashboard/controls/NetworkProfiling.vue b/src/views/dashboard/controls/NetworkProfiling.vue
new file mode 100644
index 00000000..6a206a8d
--- /dev/null
+++ b/src/views/dashboard/controls/NetworkProfiling.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+ {{ t("delete") }}
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/controls/Tab.vue b/src/views/dashboard/controls/Tab.vue
index 370b28a5..74a71907 100644
--- a/src/views/dashboard/controls/Tab.vue
+++ b/src/views/dashboard/controls/Tab.vue
@@ -118,6 +118,7 @@ import Log from "./Log.vue";
import Text from "./Text.vue";
import Ebpf from "./Ebpf.vue";
import Event from "./Event.vue";
+import NetworkProfiling from "./NetworkProfiling.vue";
import { dragIgnoreFrom } from "../data";
import DemandLog from "./DemandLog.vue";
import copy from "@/utils/copy";
@@ -141,6 +142,7 @@ export default defineComponent({
Ebpf,
DemandLog,
Event,
+ NetworkProfiling,
},
props,
setup(props) {
diff --git a/src/views/dashboard/controls/index.ts b/src/views/dashboard/controls/index.ts
index 8130b98c..2633ce8d 100644
--- a/src/views/dashboard/controls/index.ts
+++ b/src/views/dashboard/controls/index.ts
@@ -24,6 +24,7 @@ import Text from "./Text.vue";
import Ebpf from "./Ebpf.vue";
import DemandLog from "./DemandLog.vue";
import Event from "./Event.vue";
+import NetworkProfiling from "./NetworkProfiling.vue";
export default {
Tab,
@@ -36,4 +37,5 @@ export default {
Ebpf,
DemandLog,
Event,
+ NetworkProfiling,
};
diff --git a/src/views/dashboard/data.ts b/src/views/dashboard/data.ts
index 2c81d603..0f7a64e8 100644
--- a/src/views/dashboard/data.ts
+++ b/src/views/dashboard/data.ts
@@ -197,6 +197,11 @@ export const InstanceTools = [
{ name: "assignment", content: "Add Log", id: "addLog" },
{ name: "demand", content: "Add On Demand Log", id: "addDemandLog" },
{ name: "event", content: "Add Event", id: "addEvent" },
+ {
+ name: "timeline",
+ content: "Add Network Profiling",
+ id: "addNetworkProfiling",
+ },
];
export const EndpointTools = [
{ name: "playlist_add", content: "Add Widget", id: "addWidget" },
diff --git a/src/views/dashboard/panel/Tool.vue b/src/views/dashboard/panel/Tool.vue
index b240b93d..2e7b4feb 100644
--- a/src/views/dashboard/panel/Tool.vue
+++ b/src/views/dashboard/panel/Tool.vue
@@ -144,9 +144,8 @@ const dashboardStore = useDashboardStore();
const selectorStore = useSelectorStore();
const appStore = useAppStoreWithOut();
const params = useRoute().params;
-const toolIcons = ref<{ name: string; content: string; id: string }[]>(
- EndpointRelationTools
-);
+const toolIcons =
+ ref<{ name: string; content: string; id: string }[]>(AllTools);
const loading = ref(false);
const states = reactive<{
destService: string;
@@ -461,6 +460,9 @@ function setTabControls(id: string) {
case "addEvent":
dashboardStore.addTabControls("Event");
break;
+ case "addNetworkProfiling":
+ dashboardStore.addTabControls("NetworkProfiling");
+ break;
default:
ElMessage.info("Don't support this control");
break;
@@ -499,6 +501,9 @@ function setControls(id: string) {
case "addEvent":
dashboardStore.addControl("Event");
break;
+ case "addNetworkProfiling":
+ dashboardStore.addControl("NetworkProfiling");
+ break;
default:
dashboardStore.addControl("Widget");
}
@@ -618,7 +623,7 @@ function getTools() {
toolIcons.value = EndpointRelationTools;
break;
default:
- toolIcons.value = EndpointRelationTools;
+ toolIcons.value = AllTools;
}
}
function searchPods(query: string) {
diff --git a/src/views/dashboard/related/network-profiling/Content.vue b/src/views/dashboard/related/network-profiling/Content.vue
new file mode 100644
index 00000000..21c9cb93
--- /dev/null
+++ b/src/views/dashboard/related/network-profiling/Content.vue
@@ -0,0 +1,17 @@
+
+
+ network profiling
+