diff --git a/.gitignore b/.gitignore index ed63697ba2..85df3260dc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # Maven # ######### target +/target +**/target/ +**/dependency-reduced-pom.xml # Gradle # ######### @@ -31,6 +34,8 @@ Thumbs.db ################# /.idea *.iml +*.ipr +*.iws # Visual Studio Code # ###################### @@ -39,10 +44,5 @@ Thumbs.db # Others # ########## /logs/* - - - -/target -**/target/ -**/dependency-reduced-pom.xml /bin +/out diff --git a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/TraceAnnotationsManagerTest.java b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/TraceAnnotationsManagerTest.java index d6e3898c86..9cf8d564a2 100644 --- a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/TraceAnnotationsManagerTest.java +++ b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/TraceAnnotationsManagerTest.java @@ -45,7 +45,7 @@ public class TraceAnnotationsManagerTest { //Test new trace with 2 children spans SayTracedHello.sayHELLOsayHA(); assertThat(writer.firstTrace().size()).isEqualTo(3); - final long parentId = writer.firstTrace().get(0).context().getTraceId(); + final long parentId = writer.firstTrace().get(0).context().getSpanId(); assertThat(writer.firstTrace().get(0).getOperationName()).isEqualTo("NEW_TRACE"); assertThat(writer.firstTrace().get(0).getParentId()).isEqualTo(0); //ROOT / no parent diff --git a/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java b/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java index 31c6fae984..e6d06e41ac 100644 --- a/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java +++ b/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java @@ -5,7 +5,6 @@ import com.datadoghq.trace.propagation.Codec; import com.datadoghq.trace.propagation.HTTPCodec; import com.datadoghq.trace.sampling.AllSampler; import com.datadoghq.trace.sampling.Sampler; -import com.datadoghq.trace.util.Clock; import com.datadoghq.trace.writer.LoggingWriter; import com.datadoghq.trace.writer.Writer; import io.opentracing.ActiveSpan; @@ -14,7 +13,13 @@ import io.opentracing.BaseSpan; import io.opentracing.SpanContext; import io.opentracing.propagation.Format; import io.opentracing.util.ThreadLocalActiveSpanSource; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.ThreadLocalRandom; import lombok.extern.slf4j.Slf4j; /** DDTracer makes it easy to send traces and span to DD using the OpenTracing integration. */ @@ -285,7 +290,8 @@ public class DDTracer extends ThreadLocalActiveSpanSource implements io.opentrac } private long generateNewId() { - return Clock.currentNanoTicks(); + // Ensure the generated ID is in a valid range: + return ThreadLocalRandom.current().nextLong(1, Long.MAX_VALUE); } /** @@ -319,7 +325,7 @@ public class DDTracer extends ThreadLocalActiveSpanSource implements io.opentrac if (this.serviceName == null) this.serviceName = ddsc.getServiceName(); if (this.spanType == null) this.spanType = ddsc.getSpanType(); } else { - traceId = spanId; + traceId = generateNewId(); parentSpanId = 0L; baggage = null; parentTrace = null;