diff --git a/dd-trace-core/src/main/java/datadog/trace/common/writer/TraceProcessingWorker.java b/dd-trace-core/src/main/java/datadog/trace/common/writer/TraceProcessingWorker.java index 6cd0ecdaed2..e5bddd5c48d 100644 --- a/dd-trace-core/src/main/java/datadog/trace/common/writer/TraceProcessingWorker.java +++ b/dd-trace-core/src/main/java/datadog/trace/common/writer/TraceProcessingWorker.java @@ -254,14 +254,14 @@ private void maybeTracePostProcessing(List trace) { final SpanPostProcessor postProcessor = SpanPostProcessor.Holder.INSTANCE; try { final long timeout = Config.get().getTracePostProcessingTimeout(); - final long deadline = System.currentTimeMillis() + timeout; + final long deadline = System.nanoTime() + timeout * 1000 * 1000; final boolean[] timedOut = {false}; final BooleanSupplier timeoutCheck = () -> { if (timedOut[0]) { return true; } - if (System.currentTimeMillis() > deadline) { + if (System.nanoTime() > deadline) { timedOut[0] = true; } return timedOut[0];