diff options
| author | Luck <git@lucko.me> | 2018-05-31 16:47:22 +0100 |
|---|---|---|
| committer | Luck <git@lucko.me> | 2018-05-31 16:47:22 +0100 |
| commit | cbd5325a0837f3ee57682ada657d4cd7c3e6ee37 (patch) | |
| tree | 689c6eb3f4dd9d965c5a87ec0be319497554639e /bungeecord | |
| parent | 8b5071cdc5bd2609ee4f3805e3a54ced7f3d4df8 (diff) | |
| download | spark-cbd5325a0837f3ee57682ada657d4cd7c3e6ee37.tar.gz spark-cbd5325a0837f3ee57682ada657d4cd7c3e6ee37.tar.bz2 spark-cbd5325a0837f3ee57682ada657d4cd7c3e6ee37.zip | |
Add '/profiler monitoring' command to monitor tick times, and '--only-ticks-over' argument to filter profiling output to ticks lasting over a certain duration
Diffstat (limited to 'bungeecord')
| -rw-r--r-- | bungeecord/src/main/java/me/lucko/spark/bungeecord/SparkBungeeCordPlugin.java | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/bungeecord/src/main/java/me/lucko/spark/bungeecord/SparkBungeeCordPlugin.java b/bungeecord/src/main/java/me/lucko/spark/bungeecord/SparkBungeeCordPlugin.java index 717497c..59bab67 100644 --- a/bungeecord/src/main/java/me/lucko/spark/bungeecord/SparkBungeeCordPlugin.java +++ b/bungeecord/src/main/java/me/lucko/spark/bungeecord/SparkBungeeCordPlugin.java @@ -2,28 +2,49 @@ package me.lucko.spark.bungeecord; import me.lucko.spark.common.CommandHandler; import me.lucko.spark.profiler.ThreadDumper; +import me.lucko.spark.profiler.TickCounter; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; import net.md_5.bungee.api.plugin.Plugin; public class SparkBungeeCordPlugin extends Plugin { private final CommandHandler<CommandSender> commandHandler = new CommandHandler<CommandSender>() { + private BaseComponent[] colorize(String message) { + return TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message)); + } + + private void broadcast(BaseComponent... msg) { + getProxy().getConsole().sendMessage(msg); + for (ProxiedPlayer player : getProxy().getPlayers()) { + if (player.hasPermission("spark.profiler")) { + player.sendMessage(msg); + } + } + } + @Override protected void sendMessage(CommandSender sender, String message) { - sender.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message))); + sender.sendMessage(colorize(message)); } @Override - protected void sendLink(CommandSender sender, String url) { + protected void sendMessage(String message) { + broadcast(colorize(message)); + } + + @Override + protected void sendLink(String url) { TextComponent component = new TextComponent(url); component.setColor(ChatColor.GRAY); component.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, url)); - sender.sendMessage(component); + broadcast(component); } @Override @@ -35,6 +56,11 @@ public class SparkBungeeCordPlugin extends Plugin { protected ThreadDumper getDefaultThreadDumper() { return new ThreadDumper.All(); } + + @Override + protected TickCounter newTickCounter() { + throw new UnsupportedOperationException(); + } }; @Override |
