From e14d95e83c83034c8bd36a8e8c626a4d182cec1f Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 19 Jul 2020 15:17:01 -0700 Subject: [PATCH] Name craft scheduler threads according to the plugin using them Provides quick access to culprits running far more threads than they should be --- .../org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java b/paper-server/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java index 365b7e7c66..e97f6b76ef 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncTask.java @@ -25,7 +25,10 @@ class CraftAsyncTask extends CraftTask { @Override public void run() { final Thread thread = Thread.currentThread(); - synchronized (this.workers) { + // Paper start - name threads according to running plugin + final String nameBefore = thread.getName(); + thread.setName(nameBefore + " - " + this.getOwner().getName()); + try { synchronized (this.workers) { // Paper end - name threads according to running plugin if (this.getPeriod() == CraftTask.CANCEL) { // Never continue running after cancelled. // Checking this with the lock is important! @@ -92,6 +95,7 @@ class CraftAsyncTask extends CraftTask { } } } + } finally { thread.setName(nameBefore); } // Paper - name threads according to running plugin } LinkedList getWorkers() {