diff --git a/test/jdk/jdk/jfr/tool/TestPrintContextual.java b/test/jdk/jdk/jfr/tool/TestPrintContextual.java index 15486148b9cb2..e6df9c7c7292f 100644 --- a/test/jdk/jdk/jfr/tool/TestPrintContextual.java +++ b/test/jdk/jdk/jfr/tool/TestPrintContextual.java @@ -25,6 +25,7 @@ import java.nio.file.Files; import java.nio.file.Path; +import java.time.Instant; import java.util.AbstractMap; import java.util.ArrayList; import java.util.List; @@ -264,7 +265,8 @@ private static void testDeepContext() throws Exception { } } - private static void span(int depth) { + private static void span(int depth) throws InterruptedException { + awaitUniqueTimestamp(); SpanEvent span = new SpanEvent(); span.name = "span"; span.spanId = depth; @@ -277,6 +279,13 @@ private static void span(int depth) { span.commit(); } + private static void awaitUniqueTimestamp() throws InterruptedException { + Instant timestamp = Instant.now(); + while (timestamp.equals(Instant.now())) { + Thread.sleep(1); + } + } + // Tests that context values are only inhjected into events in the same thread. private static void testThreadedContext() throws Exception { try (Recording r = new Recording()) {