diff --git a/patches/server/0010-Add-more-metrics.patch b/patches/server/0010-Add-more-metrics.patch index 60bfc1f..7629c2b 100644 --- a/patches/server/0010-Add-more-metrics.patch +++ b/patches/server/0010-Add-more-metrics.patch @@ -5,13 +5,15 @@ Subject: [PATCH] Add more metrics diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 0b3d87d2d43148e6370e7a03e0bb6074891ac800..dce6445e02a16a87df3b0e81ed9076fe558da48b 100644 +index 0b3d87d2d43148e6370e7a03e0bb6074891ac800..8783c81af1d09e6682256dee0dd546de0be418cd 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java -@@ -636,16 +636,52 @@ public class Metrics { +@@ -636,38 +636,59 @@ public class Metrics { return map; })); +- metrics.addCustomChart(new Metrics.DrilldownPie("legacy_plugins", () -> { +- Map> map = new HashMap<>(); + // Plazma start - Add more metrics information + metrics.addCustomChart(new DrilldownPie("datapacks", () -> { + int datapacks = Bukkit.getDatapackManager().getEnabledPacks().size(); @@ -22,13 +24,19 @@ index 0b3d87d2d43148e6370e7a03e0bb6074891ac800..dce6445e02a16a87df3b0e81ed9076fe + else if (datapacks <= 10) return Collections.singletonMap("6-10", entry); + else if (datapacks <= 25) return Collections.singletonMap("11-25", entry); + else if (datapacks <= 50) return Collections.singletonMap("26-50", entry); -+ else return Collections.singletonMap("50+", entry); ++ else if (datapacks <= 100) return Collections.singletonMap("51+", entry); ++ else return Collections.singletonMap("101+ \uD83D\uDE2E", entry); + })); -+ -+ List plugins = Arrays.stream(Bukkit.getPluginManager().getPlugins()).toList(); -+ + +- // count legacy plugins +- int legacy = 0; +- for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) { +- if (CraftMagicNumbers.isLegacy(plugin.getDescription())) { +- legacy++; +- } +- } + metrics.addCustomChart(new DrilldownPie("plugins", () -> { -+ int pluginCount = (int) plugins.stream().filter(Plugin::isEnabled).count(); ++ int pluginCount = Arrays.stream(Bukkit.getPluginManager().getPlugins()).filter(Plugin::isEnabled).toList().size(); + Map entry = Collections.singletonMap(String.valueOf(pluginCount), 1); + + if (pluginCount == 0) return Collections.singletonMap("0", entry); @@ -36,11 +44,30 @@ index 0b3d87d2d43148e6370e7a03e0bb6074891ac800..dce6445e02a16a87df3b0e81ed9076fe + else if (pluginCount <= 10) return Collections.singletonMap("6-10", entry); + else if (pluginCount <= 25) return Collections.singletonMap("11-25", entry); + else if (pluginCount <= 50) return Collections.singletonMap("26-50", entry); -+ else return Collections.singletonMap("50+", entry); ++ else if (pluginCount <= 100) return Collections.singletonMap("51-100", entry); ++ else return Collections.singletonMap("101+ \uD83D\uDE2E", entry); + })); -+ + +- // insert real value as lower dimension +- Map entry = new HashMap<>(); +- entry.put(String.valueOf(legacy), 1); +- +- // create buckets as higher dimension +- if (legacy == 0) { +- map.put("0 \uD83D\uDE0E", entry); // :sunglasses: +- } else if (legacy <= 5) { +- map.put("1-5", entry); +- } else if (legacy <= 10) { +- map.put("6-10", entry); +- } else if (legacy <= 25) { +- map.put("11-25", entry); +- } else if (legacy <= 50) { +- map.put("26-50", entry); +- } else { +- map.put("50+ \uD83D\uDE2D", entry); // :cry: +- } + metrics.addCustomChart(new DrilldownPie("disabled_plugins", () -> { -+ int disabled = (int) plugins.stream().filter(java.util.function.Predicate.not(Plugin::isEnabled)).count(); ++ int disabled = Arrays.stream(Bukkit.getPluginManager().getPlugins()).filter(it -> !it.isEnabled()).toList().size(); + Map entry = Collections.singletonMap(String.valueOf(disabled), 1); + + if (disabled == 0) return Collections.singletonMap("0 \uD83D\uDE0E", entry); // :sunglasses: @@ -48,22 +75,24 @@ index 0b3d87d2d43148e6370e7a03e0bb6074891ac800..dce6445e02a16a87df3b0e81ed9076fe + else if (disabled <= 10) return Collections.singletonMap("6-10", entry); + else if (disabled <= 25) return Collections.singletonMap("11-25", entry); + else if (disabled <= 50) return Collections.singletonMap("26-50", entry); -+ else if (disabled <= 100) return Collections.singletonMap("50-100 \uD83D\uDE2D", entry); // :cry: ++ else if (disabled <= 100) return Collections.singletonMap("51-100 \uD83D\uDE2D", entry); // :cry: + else return Collections.singletonMap("101+ \uD83D\uDC80", entry); // :skull: + })); -+ // Plazma end - Add more metrics information + +- return map; ++ metrics.addCustomChart(new Metrics.DrilldownPie("legacy_plugins", () -> { ++ int legacy = (int) Arrays.stream(Bukkit.getPluginManager().getPlugins()).filter(p -> CraftMagicNumbers.isLegacy(p.getDescription())).count(); // Plazma ++ Map entry = Collections.singletonMap(String.valueOf(legacy), 1); + - metrics.addCustomChart(new Metrics.DrilldownPie("legacy_plugins", () -> { - Map> map = new HashMap<>(); ++ if (legacy == 0) return Collections.singletonMap("0 \uD83D\uDE0E", entry); // :sunglasses: ++ else if (legacy <= 5) return Collections.singletonMap("1-5", entry); ++ else if (legacy <= 10) return Collections.singletonMap("6-10", entry); ++ else if (legacy <= 25) return Collections.singletonMap("11-25", entry); ++ else if (legacy <= 50) return Collections.singletonMap("26-50", entry); ++ else if (legacy <= 100) return Collections.singletonMap("51-100 \uD83D\uDE2D", entry); // :cry: ++ else return Collections.singletonMap("101+ \uD83D\uDC80", entry); // :skull: + })); ++ // Plazma end - Add more metrics information + } - // count legacy plugins -- int legacy = 0; -- for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) { -- if (CraftMagicNumbers.isLegacy(plugin.getDescription())) { -- legacy++; -- } -- } -+ int legacy = (int) plugins.stream().filter(p -> CraftMagicNumbers.isLegacy(p.getDescription())).count(); // Plazma - - // insert real value as lower dimension - Map entry = new HashMap<>(); + }