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

cschneider pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git


The following commit(s) were added to refs/heads/master by this push:
     new a470e13  SLING-12295 - Add queue size metric
a470e13 is described below

commit a470e13b25c8d466a7e07435afe86af7009314b6
Author: Christian Schneider <cschn...@adobe.com>
AuthorDate: Wed Apr 17 09:20:04 2024 +0200

    SLING-12295 - Add queue size metric
---
 .../distribution/journal/impl/publisher/DistributionPublisher.java   | 1 +
 .../sling/distribution/journal/impl/publisher/PublishMetrics.java    | 5 +++++
 2 files changed, 6 insertions(+)

diff --git 
a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
 
b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
index 2adec23..8e362cd 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisher.java
@@ -140,6 +140,7 @@ public class DistributionPublisher implements 
DistributionAgent {
         requireNonNull(metricsService);
         this.publishMetrics = new PublishMetrics(metricsService, pubAgentName);
         this.pubQueueProvider = pubQueueProvider;
+        this.publishMetrics.queueSize(() -> 
pubQueueProvider.getMaxQueueSize(pubAgentName));
 
         distLog = new DefaultDistributionLog(pubAgentName, this.getClass(), 
DefaultDistributionLog.LogLevel.INFO);
         distributionLogEventListener = new 
DistributionLogEventListener(context, distLog, pubAgentName);
diff --git 
a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PublishMetrics.java
 
b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PublishMetrics.java
index ef64ad5..5692450 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PublishMetrics.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PublishMetrics.java
@@ -43,6 +43,7 @@ public class PublishMetrics {
     private static final String QUEUE_CACHE_FETCH_COUNT = PUB_COMPONENT + 
"queue_cache_fetch_count";
     private static final String QUEUE_ACCESS_ERROR_COUNT = PUB_COMPONENT + 
"queue_access_error_count";
     private static final String SUBSCRIBER_COUNT = PUB_COMPONENT + 
"subscriber_count";
+    private static final String QUEUE_SIZE = PUB_COMPONENT + "queue_size";
 
     private final List<Tag> tags;
     private final MetricsService metricsService;
@@ -119,4 +120,8 @@ public class PublishMetrics {
         metricsService.gauge(getMetricName(SUBSCRIBER_COUNT, tags), 
subscriberCountCallback);
     }
 
+    public void queueSize(Supplier<Integer> queueSizeCallback) {
+        metricsService.gauge(getMetricName(QUEUE_SIZE, tags), 
queueSizeCallback);
+    }
+
 }

Reply via email to