From f473e364ac61b5a5bff60d8e05765b2a9c1c3bbe Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 21 Jul 2025 17:54:35 +0200 Subject: [PATCH] fancydialogs: Add more metrics --- plugins/fancydialogs/VERSION | 2 +- .../fancydialogs/analytics/Analytics.java | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/plugins/fancydialogs/VERSION b/plugins/fancydialogs/VERSION index 927734f1..a6186220 100644 --- a/plugins/fancydialogs/VERSION +++ b/plugins/fancydialogs/VERSION @@ -1 +1 @@ -0.0.17 \ No newline at end of file +0.0.18 \ No newline at end of file diff --git a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/analytics/Analytics.java b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/analytics/Analytics.java index 4aec9bbc..380dbb75 100644 --- a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/analytics/Analytics.java +++ b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/analytics/Analytics.java @@ -1,6 +1,8 @@ package com.fancyinnovations.fancydialogs.analytics; import com.fancyinnovations.fancydialogs.FancyDialogsPlugin; +import com.fancyinnovations.fancydialogs.api.Dialog; +import com.fancyinnovations.fancydialogs.api.data.DialogButton; import de.oliver.fancyanalytics.api.FancyAnalyticsAPI; import de.oliver.fancyanalytics.api.metrics.MetricSupplier; import de.oliver.fancyanalytics.sdk.events.Event; @@ -55,6 +57,44 @@ public class Analytics { })); api.registerNumberMetric(new MetricSupplier<>("amount_dialogs", () -> (double) FancyDialogsPlugin.get().getDialogRegistry().getAll().size())); + + api.registerNumberMetric(new MetricSupplier<>("amount_body_elements", () -> { + long count = 0; + for (Dialog dialog : FancyDialogsPlugin.get().getDialogRegistry().getAll()) { + count += dialog.getData().body().size(); + } + + return (double) count; + })); + + api.registerNumberMetric(new MetricSupplier<>("amount_input_elements", () -> { + long count = 0; + for (Dialog dialog : FancyDialogsPlugin.get().getDialogRegistry().getAll()) { + count += dialog.getData().inputs().all().size(); + } + + return (double) count; + })); + + api.registerNumberMetric(new MetricSupplier<>("amount_buttons", () -> { + long count = 0; + for (Dialog dialog : FancyDialogsPlugin.get().getDialogRegistry().getAll()) { + count += dialog.getData().buttons().size(); + } + + return (double) count; + })); + + api.registerNumberMetric(new MetricSupplier<>("amount_actions", () -> { + long count = 0; + for (Dialog dialog : FancyDialogsPlugin.get().getDialogRegistry().getAll()) { + for (DialogButton button : dialog.getData().buttons()) { + count += button.actions().size(); + } + } + + return (double) count; + })); } private void checkIfVersionUpdated() {