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:
Spigot
2013-02-27 00:39:53 -05:00
parent fd69c72b22
commit 129f77dc51
2 changed files with 14 additions and 14 deletions

View File

@@ -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;
+ }
+
+ /**