This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-metrics-prometheus.git


The following commit(s) were added to refs/heads/master by this push:
     new 9a46dc5  SLING-12395: adds the possibility to disable the default jvm 
metrics to prometheus (#1)
9a46dc5 is described below

commit 9a46dc5c5c3bca17c14b4d66aa1986485070fc1e
Author: Roy Teeuwen <[email protected]>
AuthorDate: Mon Jul 29 16:33:32 2024 +0200

    SLING-12395: adds the possibility to disable the default jvm metrics to 
prometheus (#1)
    
    Co-authored-by: Roy Teeuwen <[email protected]>
---
 .../prometheus/impl/DefaultJvmMetricsRegistrar.java    |  8 ++++++--
 ...va => DefaultJvmMetricsRegistrarConfiguration.java} | 18 ++++++------------
 2 files changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
 
b/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
index 9ac10c1..38ddd82 100644
--- 
a/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
+++ 
b/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
@@ -18,6 +18,7 @@ package org.apache.sling.metrics.prometheus.impl;
 
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.Designate;
 
 import io.prometheus.client.hotspot.DefaultExports;
 
@@ -25,10 +26,13 @@ import io.prometheus.client.hotspot.DefaultExports;
  * Registers the default JVM metrics with the default registry
  */
 @Component(immediate = true)
+@Designate(ocd = DefaultJvmMetricsRegistrarConfiguration.class)
 public class DefaultJvmMetricsRegistrar {
 
     @Activate
-    public void activate() {
-        DefaultExports.initialize();
+    public void activate(DefaultJvmMetricsRegistrarConfiguration config) {
+        if (config.enabled()) {
+            DefaultExports.initialize();
+        }
     }
 }
diff --git 
a/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
 
b/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrarConfiguration.java
similarity index 65%
copy from 
src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
copy to 
src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrarConfiguration.java
index 9ac10c1..946bcb5 100644
--- 
a/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrar.java
+++ 
b/src/main/java/org/apache/sling/metrics/prometheus/impl/DefaultJvmMetricsRegistrarConfiguration.java
@@ -16,19 +16,13 @@
  */
 package org.apache.sling.metrics.prometheus.impl;
 
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
 
-import io.prometheus.client.hotspot.DefaultExports;
+@ObjectClassDefinition(description = "Configuration for the Default Jvm 
Metrics Registrar", name = "Default Jvm Metrics Registrar")
+@interface DefaultJvmMetricsRegistrarConfiguration {
 
-/**
- * Registers the default JVM metrics with the default registry
- */
-@Component(immediate = true)
-public class DefaultJvmMetricsRegistrar {
+    @AttributeDefinition(description = "Enable the export of default jvm 
metrics to prometheus")
+    boolean enabled() default true;
 
-    @Activate
-    public void activate() {
-        DefaultExports.initialize();
-    }
 }

Reply via email to