diff --git a/modules/core/src/test/java/org/apache/ignite/platform/PlatformThreadNamesTask.java b/modules/core/src/test/java/org/apache/ignite/platform/PlatformThreadNamesTask.java index 78d7b8d5dff8e..76b9abd116961 100644 --- a/modules/core/src/test/java/org/apache/ignite/platform/PlatformThreadNamesTask.java +++ b/modules/core/src/test/java/org/apache/ignite/platform/PlatformThreadNamesTask.java @@ -20,13 +20,14 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Set; +import org.apache.ignite.IgniteLogger; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.compute.ComputeJob; import org.apache.ignite.compute.ComputeJobAdapter; import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.compute.ComputeTaskAdapter; import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.resources.LoggerResource; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -49,15 +50,33 @@ public class PlatformThreadNamesTask extends ComputeTaskAdapter threadSet = Thread.getAllStackTraces().keySet(); - String[] threadNames = new String[threadSet.size()]; + Map allStackTraces = Thread.getAllStackTraces(); + String[] threadNames = new String[allStackTraces.size()]; int i = 0; - for (Thread t : threadSet) + + for (Map.Entry entry : allStackTraces.entrySet()) { + Thread t = entry.getKey(); + StackTraceElement[] stack = entry.getValue(); + threadNames[i++] = t.getName(); + StringBuilder sb = new StringBuilder(); + + sb.append("Thread: ").append(t.getName()).append(" (ID: ").append(t.getId()).append(")\n"); + + for (StackTraceElement element : stack) + sb.append("\tat ").append(element.toString()).append("\n"); + + log.info(sb.toString()); + } + return threadNames; } }