From a88bc8c231fc285b7dbeaf6a922c1808f7766ca2 Mon Sep 17 00:00:00 2001 From: laker <935009066@qq.com> Date: Thu, 10 Nov 2022 14:43:33 +0800 Subject: [PATCH] InheritableThreadLocalDemo --- src/main/java/com/laker/admin/framework/aop/trace/Span.java | 1 + src/main/java/com/laker/admin/framework/aop/trace/Trace.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/laker/admin/framework/aop/trace/Span.java b/src/main/java/com/laker/admin/framework/aop/trace/Span.java index e027029..5ed280d 100644 --- a/src/main/java/com/laker/admin/framework/aop/trace/Span.java +++ b/src/main/java/com/laker/admin/framework/aop/trace/Span.java @@ -24,5 +24,6 @@ public class Span { private int level = 0; private int levelDeep = 0; private boolean max; + private Span parent; private List childs = new ArrayList<>(); } diff --git a/src/main/java/com/laker/admin/framework/aop/trace/Trace.java b/src/main/java/com/laker/admin/framework/aop/trace/Trace.java index e8776bb..e88b7ab 100644 --- a/src/main/java/com/laker/admin/framework/aop/trace/Trace.java +++ b/src/main/java/com/laker/admin/framework/aop/trace/Trace.java @@ -57,6 +57,7 @@ public class Trace { span.setLevel(latest.getLevel() + 1); span.setLevelDeep(latest.getChilds().size() + 1); // 添加进其 子span列表 + span.setParent(latest); latest.getChilds().add(span); } // 入栈 @@ -110,8 +111,10 @@ public class Trace { } spans.sort(Comparator.comparing(Span::getOrder)); spans.stream().filter(span -> span.getLevel() != 0).max(Comparator.comparing(Span::getCost)).ifPresent(span -> span.setMax(true)); + int i = 1; for (Span span : spans) { - log.warn("{} {}{}{}ms{}:[{}]-{}", span.getLevel() + "." + span.getLevelDeep(), append + BAR, span.isMax() ? "【" : "[", span.getCost(), span.isMax() ? "】" : "]", span.getSpanType(), span.getId()); + span.setName(span.getParent() == null ? "root" : span.getParent().getName() + "." + (i++) + ""); + log.warn("{} {}{}{}ms{}:[{}]-{}", span.getName(), append + BAR, span.isMax() ? "【" : "[", span.getCost(), span.isMax() ? "】" : "]", span.getSpanType(), span.getId()); logSpan(span.getChilds(), append + BAR); } } -- GitLab