From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Sun, 5 Nov 2023 10:26:26 +0900 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 81b204c03b3c9a997f00fd423daa963757cb0daf..67e299893b7e1a64ab2962d79c2434dad189eed5 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -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(); + Map entry = Collections.singletonMap(String.valueOf(datapacks), 1); + + if (datapacks == 0) return Collections.singletonMap("0", entry); + else if (datapacks <= 5) return Collections.singletonMap("1-5", entry); + 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 if (datapacks <= 100) return Collections.singletonMap("51+", entry); + else return Collections.singletonMap("101+ \uD83D\uDE2E", entry); + })); - // 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 = 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); + else if (pluginCount <= 5) return Collections.singletonMap("1-5", entry); + 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 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 = 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: + else if (disabled <= 5) return Collections.singletonMap("1-5", entry); + 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("51-100 \uD83D\uDE2D", entry); // :cry: + else return Collections.singletonMap("101+ \uD83D\uDC80", entry); // :skull: + })); - 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); + + 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 } }