aboutsummaryrefslogtreecommitdiff
path: root/bungeecord
diff options
context:
space:
mode:
authorLuck <git@lucko.me>2018-05-31 16:47:22 +0100
committerLuck <git@lucko.me>2018-05-31 16:47:22 +0100
commitcbd5325a0837f3ee57682ada657d4cd7c3e6ee37 (patch)
tree689c6eb3f4dd9d965c5a87ec0be319497554639e /bungeecord
parent8b5071cdc5bd2609ee4f3805e3a54ced7f3d4df8 (diff)
downloadspark-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.java32
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