Do not include task id in timings handler name
Plugins that spam use repeating task timers are filling up the CustomTimingHandler list, which can degrade performance over time Considering Essentials does this, and many servers use Essentials... def need to stop this. By: Aikar <aikar@aikar.co>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 7d318ee4bf7783ec9bca927195e5ee11d4490964 Mon Sep 17 00:00:00 2001
|
||||
From 9808bdb02bc1e375a8f809a3b8b553104b242daa Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 10 Jan 2013 00:18:11 -0500
|
||||
Subject: [PATCH] Improved Timings System
|
||||
@@ -407,7 +407,7 @@ index 4aa2a19..6cb3e24 100644
|
||||
public BiomeMeta a(EnumCreatureType enumcreaturetype, int i, int j, int k) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
new file mode 100644
|
||||
index 0000000..df837a3
|
||||
index 0000000..dec3110
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
@@ -0,0 +1,111 @@
|
||||
@@ -455,18 +455,18 @@ index 0000000..df837a3
|
||||
+ */
|
||||
+ public static CustomTimingsHandler getPluginTaskTimings(BukkitTask task, long period) {
|
||||
+ String plugin = task.getOwner().getDescription().getFullName();
|
||||
+ String name = "Task: " + plugin +" Id:";
|
||||
+ if (period > 0) {
|
||||
+ String name = "Task: " + plugin +" Id:(interval:" + period + ":id:"+task.getTaskId()+")";
|
||||
+ return new CustomTimingsHandler(name);
|
||||
+ name += "(interval:" + period +")";
|
||||
+ } else {
|
||||
+ String name = "Task: " + plugin + " Id:(Single)";
|
||||
+ CustomTimingsHandler result = pluginTaskTimingMap.get(name);
|
||||
+ if (result == null) {
|
||||
+ result = new CustomTimingsHandler(name);
|
||||
+ pluginTaskTimingMap.put(name, result);
|
||||
+ }
|
||||
+ return result;
|
||||
+ name += "(Single)";
|
||||
+ }
|
||||
+ CustomTimingsHandler result = pluginTaskTimingMap.get(name);
|
||||
+ if (result == null) {
|
||||
+ result = new CustomTimingsHandler(name);
|
||||
+ pluginTaskTimingMap.put(name, result);
|
||||
+ }
|
||||
+ return result;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
|
||||
Reference in New Issue
Block a user