aboutsummaryrefslogtreecommitdiff
path: root/spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java
diff options
context:
space:
mode:
Diffstat (limited to 'spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java')
-rw-r--r--spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java72
1 files changed, 0 insertions, 72 deletions
diff --git a/spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java b/spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java
deleted file mode 100644
index 538d76f..0000000
--- a/spark-common/src/main/java/me/lucko/spark/profiler/ThreadGrouper.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * This file is part of spark.
- *
- * Copyright (c) lucko (Luck) <luck@lucko.me>
- * Copyright (c) contributors
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package me.lucko.spark.profiler;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Function for grouping threads together
- */
-@FunctionalInterface
-public interface ThreadGrouper {
-
- /**
- * Gets the group for the given thread.
- *
- * @param threadName the name of the thread
- * @return the group
- */
- String getGroup(String threadName);
-
- /**
- * Implementation of {@link ThreadGrouper} that just groups by thread name.
- */
- ThreadGrouper BY_NAME = new ByName();
-
- final class ByName implements ThreadGrouper {
- @Override
- public String getGroup(String threadName) {
- return threadName;
- }
- }
-
- /**
- * Implementation of {@link ThreadGrouper} that attempts to group by the name of the pool
- * the thread originated from.
- */
- ThreadGrouper BY_POOL = new ByPool();
-
- final class ByPool implements ThreadGrouper {
- private static final Pattern THREAD_POOL_PATTERN = Pattern.compile("^(.*)[-#] ?\\d+$");
-
- @Override
- public String getGroup(String threadName) {
- Matcher matcher = THREAD_POOL_PATTERN.matcher(threadName);
- if (!matcher.matches()) {
- return threadName;
- }
-
- return matcher.group(1).trim() + " (Combined)";
- }
- }
-
-}