diff --git a/src/main/java/com/thunder/novaapi/Core/NovaAPI.java b/src/main/java/com/thunder/novaapi/Core/NovaAPI.java index cd88cb0..a1e1776 100644 --- a/src/main/java/com/thunder/novaapi/Core/NovaAPI.java +++ b/src/main/java/com/thunder/novaapi/Core/NovaAPI.java @@ -137,7 +137,9 @@ public void onServerStarting(ServerStartingEvent event) { } MinecraftServer server = event.getServer(); initializeAsyncAndChunkSystems(server); - ThreadMonitor.startMonitoring(); + if (NovaAPIConfig.isMemoryThreadLogsEnabled()) { + ThreadMonitor.startMonitoring(); + } } @SubscribeEvent diff --git a/src/main/java/com/thunder/novaapi/async/AsyncTaskManager.java b/src/main/java/com/thunder/novaapi/async/AsyncTaskManager.java index d4b97fc..2722a39 100644 --- a/src/main/java/com/thunder/novaapi/async/AsyncTaskManager.java +++ b/src/main/java/com/thunder/novaapi/async/AsyncTaskManager.java @@ -231,11 +231,6 @@ private static RejectedExecutionHandler callerRunsWithBackoff(String prefix) { executor.getQueue().size(), callerRuns); } - try { - TimeUnit.MILLISECONDS.sleep(5); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } task.run(); }; } diff --git a/src/main/java/com/thunder/novaapi/utils/ThreadMonitor.java b/src/main/java/com/thunder/novaapi/utils/ThreadMonitor.java index f64514f..a573540 100644 --- a/src/main/java/com/thunder/novaapi/utils/ThreadMonitor.java +++ b/src/main/java/com/thunder/novaapi/utils/ThreadMonitor.java @@ -6,7 +6,6 @@ import java.lang.management.ManagementFactory; import java.lang.management.ThreadInfo; import java.lang.management.ThreadMXBean; -import java.util.Map; public class ThreadMonitor { @@ -51,12 +50,15 @@ private static void logAllThreads() { if (!NovaAPIConfig.isMemoryThreadLogsEnabled()) { return; } - Map threads = Thread.getAllStackTraces(); - NovaAPI.LOGGER.debug("๐Ÿ“Œ Active Threads: {}", threads.size()); + ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); + int threadCount = threadBean.getThreadCount(); + NovaAPI.LOGGER.debug("๐Ÿ“Œ Active Threads: {}", threadCount); - for (Thread thread : threads.keySet()) { - NovaAPI.LOGGER.trace("๐Ÿงต Thread Name: {} | ID: {} | State: {} | Priority: {}", - thread.getName(), thread.threadId(), thread.getState(), thread.getPriority()); + if (NovaAPI.LOGGER.isTraceEnabled()) { + for (Thread thread : Thread.getAllStackTraces().keySet()) { + NovaAPI.LOGGER.trace("๐Ÿงต Thread Name: {} | ID: {} | State: {} | Priority: {}", + thread.getName(), thread.threadId(), thread.getState(), thread.getPriority()); + } } }