diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/TraceIdGenerator.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/TraceIdGenerator.java index 9198b4f46..2c2673680 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/TraceIdGenerator.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/util/TraceIdGenerator.java @@ -6,7 +6,12 @@ import com.a.eye.skywalking.conf.Constants; import com.a.eye.skywalking.network.grpc.TraceId; public final class TraceIdGenerator { - private static final ThreadLocal ThreadTraceIdSequence = new ThreadLocal(); + private static final ThreadLocal ThreadTraceIdSequence = new ThreadLocal(){ + @Override + protected Integer initialValue() { + return 0; + } + }; private static final int PROCESS_UUID; @@ -29,9 +34,6 @@ public final class TraceIdGenerator { */ public static TraceId generate() { Integer seq = ThreadTraceIdSequence.get(); - if (seq == null || seq == 10000 || seq > 10000) { - seq = 0; - } seq++; ThreadTraceIdSequence.set(seq);