diff options
Diffstat (limited to 'spark-common/src/main/java/me')
-rw-r--r-- | spark-common/src/main/java/me/lucko/spark/sampler/ThreadGrouper.java | 5 | ||||
-rw-r--r-- | spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/sampler/ThreadGrouper.java b/spark-common/src/main/java/me/lucko/spark/sampler/ThreadGrouper.java index 72cd4dc..031d7c1 100644 --- a/spark-common/src/main/java/me/lucko/spark/sampler/ThreadGrouper.java +++ b/spark-common/src/main/java/me/lucko/spark/sampler/ThreadGrouper.java @@ -45,9 +45,12 @@ public interface ThreadGrouper { /** * Implementation of {@link ThreadGrouper} that attempts to group by the name of the pool * the thread originated from. + * + * <p>The regex pattern used to match pools expects a digit at the end of the thread name, + * separated from the pool name with any of one or more of ' ', '-', or '#'.</p> */ ThreadGrouper BY_POOL = new ThreadGrouper() { - private final Pattern pattern = Pattern.compile("^(.*)[-#] ?\\d+$"); + private final Pattern pattern = Pattern.compile("^(.*?)[-# ]+\\d+$"); @Override public String getGroup(String threadName) { diff --git a/spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java b/spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java index a74f85a..8ba7b10 100644 --- a/spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java +++ b/spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java @@ -51,7 +51,7 @@ public final class ThreadFinder { */ public Stream<Thread> getThreads() { Thread[] threads = new Thread[this.approxActiveCount + 20]; // +20 to allow a bit of growth for newly created threads - while (ROOT_THREAD_GROUP.enumerate(threads, true ) == threads.length) { + while (ROOT_THREAD_GROUP.enumerate(threads, true) == threads.length) { threads = new Thread[threads.length * 2]; } return Arrays.stream(threads).filter(Objects::nonNull); |