aboutsummaryrefslogtreecommitdiff
path: root/spark-common/src/main/java/me/lucko
diff options
context:
space:
mode:
authorLuck <git@lucko.me>2019-01-01 19:25:03 +0000
committerLuck <git@lucko.me>2019-01-01 19:25:03 +0000
commit0b7e2600ca258d729c9f156c45e38c495a4d3a12 (patch)
tree741866e55f981e032f62bce8d79730466e3a6bb9 /spark-common/src/main/java/me/lucko
parenta96b3392edad759e8083cc15840c86c2f3f8673d (diff)
downloadspark-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.java5
-rw-r--r--spark-common/src/main/java/me/lucko/spark/util/ThreadFinder.java2
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);