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