From 7a4a28593536d1f9f3c72c6fd121c9de054e857b Mon Sep 17 00:00:00 2001 From: Dan Mulloy Date: Sat, 11 Jan 2020 13:49:36 -0500 Subject: [PATCH] Add some more useful metrics --- .../comphenix/protocol/metrics/Metrics.java | 4 +- .../protocol/metrics/Statistics.java | 42 +++++++++++++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/comphenix/protocol/metrics/Metrics.java b/src/main/java/com/comphenix/protocol/metrics/Metrics.java index bb8b0c83..e64f07dd 100644 --- a/src/main/java/com/comphenix/protocol/metrics/Metrics.java +++ b/src/main/java/com/comphenix/protocol/metrics/Metrics.java @@ -174,10 +174,10 @@ public class Metrics { JSONObject data = new JSONObject(); String pluginName = plugin.getDescription().getName(); - Pair pluginVersion = Statistics.splitVersion(); // ProtocolLib - remove build number + String pluginVersion = Statistics.getVersion(); // ProtocolLib - remove build number data.put("pluginName", pluginName); // Append the name of the plugin - data.put("pluginVersion", pluginVersion.getLeft()); // Append the version of the plugin + data.put("pluginVersion", pluginVersion); // Append the version of the plugin JSONArray customCharts = new JSONArray(); for (CustomChart customChart : charts) { // Add the data of the custom charts diff --git a/src/main/java/com/comphenix/protocol/metrics/Statistics.java b/src/main/java/com/comphenix/protocol/metrics/Statistics.java index 846d6ef7..704ffed3 100644 --- a/src/main/java/com/comphenix/protocol/metrics/Statistics.java +++ b/src/main/java/com/comphenix/protocol/metrics/Statistics.java @@ -21,6 +21,9 @@ import com.comphenix.protocol.ProtocolLib; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.events.PacketAdapter; import com.comphenix.protocol.events.PacketListener; +import com.comphenix.protocol.utility.Util; + +import org.bukkit.Bukkit; import org.bukkit.craftbukkit.libs.org.apache.commons.lang3.tuple.Pair; import java.io.IOException; @@ -36,22 +39,45 @@ public class Statistics { metrics = new Metrics(plugin); metrics.logFailedRequests(plugin.getProtocolConfig().isDebug()); - // Determine who is using this library - addPluginUserGraph(metrics); + addCustomGraphs(metrics); } - private void addPluginUserGraph(Metrics metrics) { - metrics.addCustomChart(new Metrics.AdvancedPie("Plugin Users", this::getPluginUsers)); - metrics.addCustomChart(new Metrics.SimplePie("buildVersion", () -> splitVersion().getRight())); + private void addCustomGraphs(Metrics metrics) { + metrics.addCustomChart(new Metrics.AdvancedPie("pluginUsers", this::getPluginUsers)); + metrics.addCustomChart(new Metrics.SimplePie("buildVersion", this::getBuildNumber)); + metrics.addCustomChart(new Metrics.SimplePie("serverBrand", this::getServerBrand)); } - public static Pair splitVersion() { + private String getServerBrand() { + // spigot doesn't overwrite the serverName, but paper does + if (!Bukkit.getServer().getName().equals("CraftBukkit")) { + return Bukkit.getServer().getName(); + } else if (Util.isUsingSpigot()) { + return "Spigot"; + } else { + return "CraftBukkit"; + } + } + + private String getBuildNumber() { String version = ProtocolLibrary.getPlugin().getDescription().getVersion(); if (version.contains("-b")) { String[] split = version.split("-b"); - return Pair.of(split[0], split[1]); + return split[1]; + } else if (!version.contains("SNAPSHOT")) { + return "Release"; } else { - return Pair.of(version, "Unknown"); + return "Unknown"; + } + } + + public static String getVersion() { + String version = ProtocolLibrary.getPlugin().getDescription().getVersion(); + if (version.contains("-b")) { + String[] split = version.split("-b"); + return split[0]; + } else { + return version; } }