Spigot Timings
Overhauls the Timings System adding performance tracking all around the Minecraft Server By: Aikar <aikar@aikar.co>
This commit is contained in:
@@ -411,7 +411,9 @@ public class CraftScheduler implements BukkitScheduler {
|
||||
if (task.isSync()) {
|
||||
this.currentTask = task;
|
||||
try {
|
||||
task.timings.startTiming(); // Spigot
|
||||
task.run();
|
||||
task.timings.stopTiming(); // Spigot
|
||||
} catch (final Throwable throwable) {
|
||||
task.getOwner().getLogger().log(
|
||||
Level.WARNING,
|
||||
|
||||
@@ -5,7 +5,10 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
class CraftTask implements BukkitTask, Runnable {
|
||||
import org.bukkit.craftbukkit.SpigotTimings; // Spigot
|
||||
import org.spigotmc.CustomTimingsHandler; // Spigot
|
||||
|
||||
public class CraftTask implements BukkitTask, Runnable { // Spigot
|
||||
|
||||
private volatile CraftTask next = null;
|
||||
public static final int ERROR = 0;
|
||||
@@ -29,6 +32,7 @@ class CraftTask implements BukkitTask, Runnable {
|
||||
private final int id;
|
||||
private final long createdAt = System.nanoTime();
|
||||
|
||||
final CustomTimingsHandler timings; // Spigot
|
||||
CraftTask() {
|
||||
this(null, null, CraftTask.NO_REPEATING, CraftTask.NO_REPEATING);
|
||||
}
|
||||
@@ -54,6 +58,7 @@ class CraftTask implements BukkitTask, Runnable {
|
||||
}
|
||||
this.id = id;
|
||||
this.period = period;
|
||||
this.timings = this.isSync() ? SpigotTimings.getPluginTaskTimings(this, period) : null; // Spigot
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -131,4 +136,10 @@ class CraftTask implements BukkitTask, Runnable {
|
||||
this.setPeriod(CraftTask.CANCEL);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Spigot start
|
||||
public String getTaskName() {
|
||||
return (this.getTaskClass() == null) ? "Unknown" : this.getTaskClass().getName();
|
||||
}
|
||||
// Spigot end
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user