diff options
author | Luck <git@lucko.me> | 2019-01-01 19:25:03 +0000 |
---|---|---|
committer | Luck <git@lucko.me> | 2019-01-01 19:25:03 +0000 |
commit | 0b7e2600ca258d729c9f156c45e38c495a4d3a12 (patch) | |
tree | 741866e55f981e032f62bce8d79730466e3a6bb9 /spark-common/src/main/java/me/lucko | |
parent | a96b3392edad759e8083cc15840c86c2f3f8673d (diff) | |
download | spark-0b7e2600ca258d729c9f156c45e38c495a4d3a12.tar.gz spark-0b7e2600ca258d729c9f156c45e38c495a4d3a12.tar.bz2 spark-0b7e2600ca258d729c9f156c45e38c495a4d3a12.zip |
Improve ThreadGrouper by pool regex
Diffstat (limited to 'spark-common/src/main/java/me/lucko')
-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); |