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();
- }
}