From 22a83680d516ca70dd594c0a1bcc444cdb3b5cde Mon Sep 17 00:00:00 2001 From: Yefu Zhang Date: Tue, 26 Mar 2024 17:06:58 +0800 Subject: [PATCH] [bugfix] tracing panel, throw err when click flame bar **Phenomenon and reproduction steps** none **Root cause and solution** none **Impactions** none **Test method** none **Affected branch(es)** - main - v6.4 - v6.3 **Checklist** - [ ] Dependencies update required - [ ] Common bug (similar problem in other repo) --- deepflow-apptracing-panel/src/utils/tools.ts | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/deepflow-apptracing-panel/src/utils/tools.ts b/deepflow-apptracing-panel/src/utils/tools.ts index 1da8f7d..2c10a3b 100644 --- a/deepflow-apptracing-panel/src/utils/tools.ts +++ b/deepflow-apptracing-panel/src/utils/tools.ts @@ -191,20 +191,21 @@ export function getRelatedData(item: any, fullData: any) { }) } }) - const result = [ - ...relateData.map((e: any) => { + const result = relateData + .map((e: any) => { return { ...fullDataKeyById[e.id], __related: e } }) - ] item.__hightLights = {} - result.forEach(e => { - const relatedFields = RELATED_TYPE_FIELDS_MAP[e.__related.type as keyof typeof RELATED_TYPE_FIELDS_MAP] + result.forEach((e: any) => { + const relatedFields = e.__related.type.split(',').map((k: keyof typeof RELATED_TYPE_FIELDS_MAP) => { + return RELATED_TYPE_FIELDS_MAP[k] + }) e.__hightLights = {} - const _relatedFields = [...relatedFields].sort(() => -1) + const _relatedFields = relatedFields ? [...relatedFields].sort(() => -1) : [] relatedFields.forEach((k: string, i: number) => { if (RELATED_EQUAL_INVALID_VALUES.includes(e[k])) { return @@ -228,7 +229,12 @@ export function getRelatedData(item: any, fullData: any) { } }) }) - return [item, ...result] + return [ + item, + ..._.uniqBy(result, (e: any) => { + return e.__related._id + }) + ] } export function formatDetailList(detailList: any[], metaCustom: any) {