mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-07-18 14:45:25 +00:00
view task
This commit is contained in:
parent
fade4ca93f
commit
77a940218c
@ -37,6 +37,8 @@ export const queryEBPFTasks = {
|
|||||||
query: `
|
query: `
|
||||||
queryEBPFTasks: queryEBPFProfilingTasks(serviceId: $serviceId) {
|
queryEBPFTasks: queryEBPFProfilingTasks(serviceId: $serviceId) {
|
||||||
taskId
|
taskId
|
||||||
|
serviceName
|
||||||
|
serviceId
|
||||||
processLabels
|
processLabels
|
||||||
taskStartTime
|
taskStartTime
|
||||||
triggerType
|
triggerType
|
||||||
|
@ -131,6 +131,9 @@ const msg = {
|
|||||||
metricLabel: "Metric Label",
|
metricLabel: "Metric Label",
|
||||||
showUnit: "Show Unit",
|
showUnit: "Show Unit",
|
||||||
noGraph: "No Graph",
|
noGraph: "No Graph",
|
||||||
|
taskId: "Task ID",
|
||||||
|
triggerType: "Trigger Type",
|
||||||
|
targetType: "Target Type",
|
||||||
hourTip: "Select Hour",
|
hourTip: "Select Hour",
|
||||||
minuteTip: "Select Minute",
|
minuteTip: "Select Minute",
|
||||||
secondTip: "Select Second",
|
secondTip: "Select Second",
|
||||||
|
@ -129,6 +129,9 @@ const msg = {
|
|||||||
metricLabel: "指标标签",
|
metricLabel: "指标标签",
|
||||||
showUnit: "显示单位",
|
showUnit: "显示单位",
|
||||||
noGraph: "无图表",
|
noGraph: "无图表",
|
||||||
|
taskId: "任务ID",
|
||||||
|
triggerType: "触发类型",
|
||||||
|
targetType: "目标类型",
|
||||||
hourTip: "选择小时",
|
hourTip: "选择小时",
|
||||||
minuteTip: "选择分钟",
|
minuteTip: "选择分钟",
|
||||||
secondTip: "选择秒数",
|
secondTip: "选择秒数",
|
||||||
|
12
src/types/ebpf.d.ts
vendored
12
src/types/ebpf.d.ts
vendored
@ -22,3 +22,15 @@ export interface EBPFTaskCreationRequest {
|
|||||||
duration: number;
|
duration: number;
|
||||||
targetType: string;
|
targetType: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface EBPFTaskList {
|
||||||
|
taskId: string;
|
||||||
|
serviceName: string;
|
||||||
|
serviceId: string;
|
||||||
|
processLabels: string[];
|
||||||
|
taskStartTime: number;
|
||||||
|
fixedTriggerDuration: number;
|
||||||
|
targetType: string;
|
||||||
|
createTime: number;
|
||||||
|
triggerType: string;
|
||||||
|
}
|
||||||
|
@ -30,12 +30,12 @@ limitations under the License. -->
|
|||||||
<td
|
<td
|
||||||
class="profile-td"
|
class="profile-td"
|
||||||
:class="{
|
:class="{
|
||||||
selected: selectedTask.id === i.id,
|
selected: selectedTask.taskId === i.id,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div class="ell">
|
<div class="ell">
|
||||||
<span>{{ i.processLabels.join(" ") }}</span>
|
<span>{{ i.processLabels.join(" ") }}</span>
|
||||||
<a class="profile-btn r">
|
<a class="profile-btn r" @click="viewDetail = true">
|
||||||
<Icon iconName="view" size="middle" />
|
<Icon iconName="view" size="middle" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -53,24 +53,71 @@ limitations under the License. -->
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog
|
||||||
|
v-model="viewDetail"
|
||||||
|
:destroy-on-close="true"
|
||||||
|
fullscreen
|
||||||
|
@closed="viewDetail = false"
|
||||||
|
>
|
||||||
|
<div class="profile-detail flex-v">
|
||||||
|
<div>
|
||||||
|
<h5 class="mb-10">{{ t("task") }}.</h5>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("taskId") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">
|
||||||
|
{{ selectedTask.taskId }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("service") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">{{ selectedTask.serviceName }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("labels") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">{{ selectedTask.processLabels }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("monitorTime") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">
|
||||||
|
{{ dateFormat(selectedTask.taskStartTime) }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("monitorDuration") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">
|
||||||
|
{{ selectedTask.fixedTriggerDuration / 60 }} min
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("triggerType") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">{{ selectedTask.triggerType }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10 clear item">
|
||||||
|
<span class="g-sm-4 grey">{{ t("targetType") }}:</span>
|
||||||
|
<span class="g-sm-8 wba">{{ selectedTask.targetType }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { useEbpfStore } from "@/store/modules/ebpf";
|
import { useEbpfStore } from "@/store/modules/ebpf";
|
||||||
import { TaskListItem } from "@/types/profile";
|
import { EBPFTaskList } from "@/types/ebpf";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const ebpfStore = useEbpfStore();
|
const ebpfStore = useEbpfStore();
|
||||||
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
|
||||||
dayjs(date).format(pattern);
|
dayjs(date).format(pattern);
|
||||||
const selectedTask = ref<TaskListItem | Record<string, never>>({});
|
const selectedTask = ref<EBPFTaskList | Record<string, never>>({});
|
||||||
|
const viewDetail = ref<boolean>(false);
|
||||||
|
|
||||||
async function changeTask(item: TaskListItem) {
|
async function changeTask(item: EBPFTaskList) {
|
||||||
selectedTask.value = item;
|
selectedTask.value = item;
|
||||||
const res = await ebpfStore.getSegmentList({ taskID: item.id });
|
const res = await ebpfStore.getSegmentList({ taskID: item.taskId });
|
||||||
if (res.errors) {
|
if (res.errors) {
|
||||||
ElMessage.error(res.errors);
|
ElMessage.error(res.errors);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user