From a4399d4e9ef6d3fdfa9cda49d3845da420e8f138 Mon Sep 17 00:00:00 2001 From: C-Duv <1466273+C-Duv@users.noreply.github.com> Date: Fri, 10 Mar 2023 17:08:35 +0100 Subject: [PATCH] feat(metric): Adds info metrics to give WordPress version This adds a new wp_info metric that returns WordPress code and database versions. Versions are in the "version" and "db_version" labels. Issue: #15 --- includes/classes/Default_Metrics_Loader.php | 2 ++ includes/classes/metrics/Info_Metric.php | 40 +++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 includes/classes/metrics/Info_Metric.php diff --git a/includes/classes/Default_Metrics_Loader.php b/includes/classes/Default_Metrics_Loader.php index fe9844d..d4190c8 100644 --- a/includes/classes/Default_Metrics_Loader.php +++ b/includes/classes/Default_Metrics_Loader.php @@ -3,6 +3,7 @@ namespace WP_Prometheus_Metrics; use WP_Prometheus_Metrics\metrics\Database_Size_Metric; +use WP_Prometheus_Metrics\metrics\Info_Metric; use WP_Prometheus_Metrics\metrics\Options_Autoloaded_Count_Metric; use WP_Prometheus_Metrics\metrics\Options_Autoloaded_Size_Metric; use WP_Prometheus_Metrics\metrics\Pending_Updates_Metric; @@ -29,6 +30,7 @@ function load_default_metrics($metrics = []) { if (!$this->metrics_loaded) { new Database_Size_Metric(); + new Info_Metric(); new Options_Autoloaded_Count_Metric(); new Options_Autoloaded_Size_Metric(); new Pending_Updates_Metric(); diff --git a/includes/classes/metrics/Info_Metric.php b/includes/classes/metrics/Info_Metric.php new file mode 100644 index 0000000..410d2a2 --- /dev/null +++ b/includes/classes/metrics/Info_Metric.php @@ -0,0 +1,40 @@ + get_bloginfo('version'), + 'db_version' => $wp_db_version, + ] + ); + } + + function get_metric_value() + { + // This metric as no value, the interesting part is in it's labels. + // Returning a standard 1 value here. + return 1; + } + + function get_help_text(): string + { + return _x('Information about the WordPress environment', 'Metric Help Text', 'prometheus-metrics-for-wp'); + } +}