mirror of
https://github.com/apache/skywalking-booster-ui.git
synced 2025-05-13 16:27:33 +00:00
add event details
This commit is contained in:
parent
dc53ba254a
commit
d7f4e69cd9
@ -83,6 +83,44 @@ limitations under the License. -->
|
|||||||
{{ t("relatedTraceLogs") }}
|
{{ t("relatedTraceLogs") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
<el-dialog
|
||||||
|
v-model="showEventDetail"
|
||||||
|
:destroy-on-close="true"
|
||||||
|
fullscreen
|
||||||
|
@closed="showEventDetail = false"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<div>Name: {{ currentEvent.event || "" }}</div>
|
||||||
|
<div>
|
||||||
|
Start Time:
|
||||||
|
{{
|
||||||
|
currentEvent.startTime && currentEvent.startTime.seconds
|
||||||
|
? visDate(currentEvent.startTime.seconds)
|
||||||
|
: ""
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
End Time:
|
||||||
|
{{
|
||||||
|
currentEvent.startTime && currentEvent.endTime.seconds
|
||||||
|
? visDate(currentEvent.endTime.seconds)
|
||||||
|
: ""
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Summary:
|
||||||
|
{{(currentEvent.summary || [])
|
||||||
|
.map((d: any) => d.key + "=" + d.value)
|
||||||
|
.join("; ")}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Tags:
|
||||||
|
{{(currentEvent.tags || [])
|
||||||
|
.map((d: any) => d.key + "=" + d.value)
|
||||||
|
.join("; ")}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="showRelatedLogs"
|
v-model="showRelatedLogs"
|
||||||
:destroy-on-close="true"
|
:destroy-on-close="true"
|
||||||
@ -133,6 +171,8 @@ const timeline = ref<Nullable<HTMLDivElement>>(null);
|
|||||||
const visGraph = ref<Nullable<any>>(null);
|
const visGraph = ref<Nullable<any>>(null);
|
||||||
const pageNum = ref<number>(1);
|
const pageNum = ref<number>(1);
|
||||||
const showRelatedLogs = ref<boolean>(false);
|
const showRelatedLogs = ref<boolean>(false);
|
||||||
|
const showEventDetail = ref<boolean>(false);
|
||||||
|
const currentEvent = ref<SpanAttachedEvent | Record<string, never>>({});
|
||||||
const pageSize = 10;
|
const pageSize = 10;
|
||||||
const total = computed(() =>
|
const total = computed(() =>
|
||||||
traceStore.traceList.length === pageSize
|
traceStore.traceList.length === pageSize
|
||||||
@ -187,45 +227,36 @@ function visTimeline() {
|
|||||||
summary: [{ key: "test", value: 123 }],
|
summary: [{ key: "test", value: 123 }],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const events = attachedEvents.map((d: SpanAttachedEvent, index: number) => {
|
const events: any[] = attachedEvents.map(
|
||||||
return {
|
(d: SpanAttachedEvent, index: number) => {
|
||||||
id: index + 1,
|
return {
|
||||||
content: d.event,
|
id: index + 1,
|
||||||
start: new Date(Number(d.startTime.seconds)),
|
content: d.event,
|
||||||
end: new Date(Number(d.endTime.seconds)),
|
start: new Date(Number(d.startTime.seconds)),
|
||||||
data: d,
|
end: new Date(Number(d.endTime.seconds)),
|
||||||
className: "Normal",
|
...d,
|
||||||
};
|
className: "Normal",
|
||||||
});
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
const items: any = new DataSet(events);
|
const items: any = new DataSet(events);
|
||||||
const options: any = {
|
const options: any = {
|
||||||
height: h,
|
height: h,
|
||||||
width: "100%",
|
width: "100%",
|
||||||
locale: "en",
|
locale: "en",
|
||||||
groupHeightMode: "fitItems",
|
autoResize: true,
|
||||||
autoResize: false,
|
|
||||||
tooltip: {
|
|
||||||
overflowMethod: "cap",
|
|
||||||
template(item: SpanAttachedEvent | any) {
|
|
||||||
const data = item.data || {};
|
|
||||||
let tmp = `<div>Name: ${data.event || ""}</div>
|
|
||||||
<div>Start Time: ${
|
|
||||||
data.startTime.seconds ? visDate(data.startTime.seconds) : ""
|
|
||||||
}</div>
|
|
||||||
<div>End Time: ${
|
|
||||||
data.endTime.seconds ? visDate(data.endTime.seconds) : ""
|
|
||||||
}</div>
|
|
||||||
<div>Summary: ${data.summary
|
|
||||||
.map((d: any) => d.key + "=" + d.value)
|
|
||||||
.join("; ")}</div>
|
|
||||||
<div>Tags: ${data.tags
|
|
||||||
.map((d: any) => d.key + "=" + d.value)
|
|
||||||
.join("; ")}</div>`;
|
|
||||||
return tmp;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
visGraph.value = new Timeline(timeline.value, items, options);
|
visGraph.value = new Timeline(timeline.value, items, options);
|
||||||
|
visGraph.value.on("select", (data: { items: number[] }) => {
|
||||||
|
const index = items[0];
|
||||||
|
currentEvent.value = events[index - 1 || 0] || {};
|
||||||
|
console.log(currentEvent.value);
|
||||||
|
if (data.items.length) {
|
||||||
|
showEventDetail.value = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
showEventDetail.value = false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
function turnPage(p: number) {
|
function turnPage(p: number) {
|
||||||
pageNum.value = p;
|
pageNum.value = p;
|
||||||
|
Loading…
Reference in New Issue
Block a user