Merge branch 'apache:main' into main

This commit is contained in:
Brandon Fergerson 2022-05-04 22:26:25 +04:00 committed by GitHub
commit c12aeb150d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 30 additions and 10 deletions

View File

@ -161,7 +161,13 @@ export const profileStore = defineStore({
this.analyzeTrees = [];
return res.data;
}
this.segmentSpans = segment.spans;
this.segmentSpans = segment.spans.map((d: SegmentSpan) => {
return {
...d,
segmentId: this.currentSegment.segmentId,
traceId: this.currentSegment.traceIds[0],
};
});
if (!(segment.spans && segment.spans.length)) {
this.analyzeTrees = [];
return res.data;

View File

@ -22,12 +22,12 @@ limitations under the License. -->
<span v-else-if="item.label === 'tags'">
{{ tags }}
</span>
<router-link
<!-- <router-link
v-else-if="item.label === 'traceId' && !noLink"
:to="{ name: 'trace', query: { traceid: data[item.label] } }"
>
<span :class="noLink ? '' : 'blue'">{{ data[item.label] }}</span>
</router-link>
</router-link> -->
<span v-else>{{ data[item.label] }}</span>
</div>
</div>

View File

@ -124,12 +124,14 @@ limitations under the License. -->
import { ref } from "vue";
import dayjs from "dayjs";
import { useI18n } from "vue-i18n";
import { useSelectorStore } from "@/store/modules/selectors";
import { useProfileStore } from "@/store/modules/profile";
import { TaskLog, TaskListItem } from "@/types/profile";
import { ElMessage } from "element-plus";
const { t } = useI18n();
const profileStore = useProfileStore();
const selectorStore = useSelectorStore();
const dateFormat = (date: number, pattern = "YYYY-MM-DD HH:mm:ss") =>
dayjs(date).format(pattern);
const viewDetail = ref<boolean>(false);
@ -150,7 +152,7 @@ async function viewTask(e: Event, item: TaskListItem) {
viewDetail.value = true;
selectedTask.value = item;
service.value = (
profileStore.services.filter((s: any) => s.id === item.serviceId)[0] || {}
selectorStore.services.filter((s: any) => s.id === item.serviceId)[0] || {}
).label;
const res = await profileStore.getTaskLogs({ taskID: item.id });

View File

@ -40,7 +40,7 @@ limitations under the License. -->
<span class="g-sm-8 wba">{{ currentSpan.peer || "No Peer" }}</span>
</div>
<div class="mb-10 clear item">
<span class="g-sm-4 grey">{{ t("error") }}:</span>
<span class="g-sm-4 grey">{{ t("isError") }}:</span>
<span class="g-sm-8 wba">{{ currentSpan.isError }}</span>
</div>
<div class="mb-10 clear item" v-for="i in currentSpan.tags" :key="i.key">

View File

@ -105,8 +105,12 @@ limitations under the License. -->
<span>{{ data.serviceCode }}</span>
</el-tooltip>
</div>
<div class="application" v-show="headerType === 'profile'">
<span @click="viewSpanDetail">{{ t("view") }}</span>
<div
class="application"
v-show="headerType === 'profile'"
@click="viewSpan($event)"
>
<span>{{ t("view") }}</span>
</div>
</div>
<div
@ -185,7 +189,7 @@ export default defineComponent({
function toggle() {
displayChildren.value = !displayChildren.value;
}
function showSelectSpan(dom: any) {
function showSelectSpan(dom: HTMLSpanElement) {
if (!dom) {
return;
}
@ -207,11 +211,18 @@ export default defineComponent({
}
viewSpanDetail(dom);
}
function viewSpan(event: any) {
const dom = event.path.find((d: any) =>
d.className.includes("trace-item")
);
emit("select", props.data);
viewSpanDetail(dom);
}
function selectedItem(data: any) {
function selectedItem(data: HTMLSpanElement) {
emit("select", data);
}
function viewSpanDetail(dom: any) {
function viewSpanDetail(dom: HTMLSpanElement) {
showSelectSpan(dom);
showDetail.value = true;
}
@ -226,6 +237,7 @@ export default defineComponent({
showDetail,
selectSpan,
selectedItem,
viewSpan,
t,
};
},