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 8205c86  SLING-12292 - Add tags to metrics
8205c86 is described below

commit 8205c86a2947a97aa9d6b256206d984f0a93239b
Author: Christian Schneider <cschn...@adobe.com>
AuthorDate: Tue Apr 16 11:23:57 2024 +0200

    SLING-12292 - Add tags to metrics
---
 .../journal/bookkeeper/BookKeeper.java             |   2 +-
 .../journal/bookkeeper/BookKeeperFactory.java      |   6 +-
 .../journal/bookkeeper/SubscriberMetrics.java      | 188 ++++++++++-----------
 .../impl/subscriber/DistributionSubscriber.java    |  10 +-
 .../journal/metrics/TaggedMetrics.java             |   5 +
 .../journal/bookkeeper/BookKeeperTest.java         |   3 +-
 .../journal/impl/subscriber/SubscriberTest.java    |   4 +-
 .../journal/shared/SubscriberMetricsTest.java      |   2 +-
 8 files changed, 107 insertions(+), 113 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
index 76697c1..98e8298 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
@@ -112,7 +112,7 @@ public class BookKeeper {
         this.logSender = logSender;
         this.config = config;
         
-        subscriberMetrics.currentRetries(config.getSubAgentName(), 
packageRetries::getSum);
+        subscriberMetrics.currentRetries(packageRetries::getSum);
         this.resolverFactory = resolverFactory;
         this.subscriberMetrics = subscriberMetrics;
         // Error queues are enabled when the number
diff --git 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
index 584d404..dd1b492 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperFactory.java
@@ -38,9 +38,6 @@ public class BookKeeperFactory {
     @Reference
     private ResourceResolverFactory resolverFactory;
     
-    @Reference
-    private SubscriberMetrics subscriberMetrics;
-    
     @Reference
     private EventAdmin eventAdmin;
     
@@ -63,7 +60,8 @@ public class BookKeeperFactory {
             DistributionPackageBuilder packageBuilder, 
             BookKeeperConfig config, 
             Consumer<PackageStatusMessage> statusSender,
-            Consumer<LogMessage> logSender
+            Consumer<LogMessage> logSender, 
+            SubscriberMetrics subscriberMetrics
             ) {
         ContentPackageExtractor extractor = new ContentPackageExtractor(
                 packaging,
diff --git 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/SubscriberMetrics.java
 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/SubscriberMetrics.java
index 686dd0c..5846cfc 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/SubscriberMetrics.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/SubscriberMetrics.java
@@ -18,8 +18,10 @@
  */
 package org.apache.sling.distribution.journal.bookkeeper;
 
-import static java.lang.String.format;
+import static 
org.apache.sling.distribution.journal.metrics.TaggedMetrics.getMetricName;
 
+import java.util.Arrays;
+import java.util.List;
 import java.util.function.Supplier;
 
 import org.apache.sling.commons.metrics.Counter;
@@ -28,82 +30,73 @@ import org.apache.sling.commons.metrics.Meter;
 import org.apache.sling.commons.metrics.MetricsService;
 import org.apache.sling.commons.metrics.Timer;
 import 
org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Reference;
+import org.apache.sling.distribution.journal.metrics.Tag;
 
-@Component(service = SubscriberMetrics.class)
+/**
+ * Metrics for DistributionSubscriber
+ * most metrics will have two parameters:
+ * TAG_SUB_NAME and TAG_EDITABLE
+ */
 public class SubscriberMetrics {
-    public static final String SUB_COMPONENT = 
"distribution.journal.subscriber";
+    // Name of the subscriber agent
+    private static final String TAG_SUB_NAME = "sub_name";
     
-    private final MetricsService metricsService;
-
-    private final Histogram importedPackageSize;
-
-    private final  Counter itemsBufferSize;
-
-    private final  Timer removedPackageDuration;
-
-    private final  Timer removedFailedPackageDuration;
-
-    private final  Timer importedPackageDuration;
-
-    private final  Meter failedPackageImports;
-
-    private final  Timer sendStoredStatusDuration;
-
-    private final  Timer processQueueItemDuration;
-
-    private final  Timer packageDistributedDuration;
-
-    private final  Timer packageJournalDistributionDuration;
-
-    private final  Timer importPreProcessDuration;
-
-    private final  Counter importPreProcessSuccess;
-
-    private final  Counter importPreProcessRequest;
-
-    private final  Timer importPostProcessDuration;
+    // Status of a package : 
+    private static final String TAG_STATUS = "status";
     
-    private final  Counter importPostProcessSuccess;
-
-    private final  Counter importPostProcessRequest;
-
-    private final  Timer invalidationProcessDuration;
-
-    private final  Counter invalidationProcessSuccess;
+    // Is the queue editable (true, false)
+    private static final String TAG_EDITABLE = "editable";
+    
+    public static final String SUB_COMPONENT = 
"distribution.journal.subscriber.";
+    
+    private static final String PACKAGE_STATUS_COUNT = SUB_COMPONENT + 
"package_status_count";
+    
+    // Number of packages with at least one failure to apply 
+    private static final String CURRENT_RETRIES = SUB_COMPONENT + 
"current_retries";
 
-    private final  Counter invalidationProcessRequest;
+    // Cumulated size of all packages (parameters: TAG_SUB_NAME, editable 
(golden publish))
+    private static final String IMPORTED_PACKAGE_SIZE = SUB_COMPONENT + 
"imported_package_size";
+    private static final String ITEMS_BUFFER_SIZE = SUB_COMPONENT + 
"items_buffer_size";
 
-    private final  Counter transientImportErrors;
+    // Increased on every failure to apply a package
+    private static final String FAILED_PACKAGE_IMPORTS = SUB_COMPONENT + 
"failed_package_imports";
+    
+    // Increased when a package failed before but then succeeded (parameters: 
agent, editable (golden publish))
+    private static final String TRANSIENT_IMPORT_ERRORS = SUB_COMPONENT + 
"transient_import_errors";
+
+    // Only counted in error queue setup
+    private static final String PERMANENT_IMPORT_ERRORS = SUB_COMPONENT + 
"permanent_import_errors";
+
+    private static final String IMPORT_PRE_PROCESS_REQUEST_COUNT = 
SUB_COMPONENT + "import_pre_process_request_count";
+    private static final String IMPORT_POST_PROCESS_SUCCESS_COUNT = 
SUB_COMPONENT + "import_post_process_success_count";
+    private static final String IMPORT_POST_PROCESS_REQUEST_COUNT = 
SUB_COMPONENT + "import_post_process_request_count";
+    private static final String INVALIDATION_PROCESS_SUCCESS_COUNT = 
SUB_COMPONENT + "invalidation_process_success_count";
+    private static final String INVALIDATION_PROCESS_REQUEST_COUNT = 
SUB_COMPONENT + "invalidation_process_request_count";
+    private static final String IMPORT_PRE_PROCESS_SUCCESS_COUNT = 
SUB_COMPONENT + "import_pre_process_success_count";
+
+    private static final String IMPORTED_PACKAGE_DURATION = SUB_COMPONENT + 
"imported_package_duration";
+    private static final String REMOVED_PACKAGE_DURATION = SUB_COMPONENT + 
"removed_package_duration";
+    private static final String REMOVED_FAILED_PACKAGE_DURATION = 
SUB_COMPONENT + "removed_failed_package_duration";
+    private static final String SEND_STORED_STATUS_DURATION = SUB_COMPONENT + 
"send_stored_status_duration";
+    private static final String PROCESS_QUEUE_ITEM_DURATION = SUB_COMPONENT + 
"process_queue_item_duration";
+    private static final String REQUEST_DISTRIBUTED_DURATION = SUB_COMPONENT + 
"request_distributed_duration";
+    private static final String PACKAGE_JOURNAL_DISTRIBUTION_DURATION = 
SUB_COMPONENT + "package_journal_distribution_duration";
+    private static final String IMPORT_PRE_PROCESS_DURATION = SUB_COMPONENT + 
"import_pre_process_duration";
+    private static final String IMPORT_POST_PROCESS_DURATION = SUB_COMPONENT + 
"import_post_process_duration";
+    private static final String INVALIDATION_PROCESS_DURATION = SUB_COMPONENT 
+ "invalidation_process_duration";
 
-    private final  Counter permanentImportErrors;
+    private final MetricsService metricsService;
+    private final Tag tagSubName;
+    private final Tag tagEditable;
+    private final List<Tag> tags;
 
-    @Activate
-    public SubscriberMetrics(@Reference MetricsService metricsService) {
+    public SubscriberMetrics(MetricsService metricsService, String 
subAgentName, boolean editable) {
         this.metricsService = metricsService;
-        importedPackageSize = 
metricsService.histogram(getMetricName("imported_package_size"));
-        itemsBufferSize = 
metricsService.counter(getMetricName("items_buffer_size"));
-        importedPackageDuration = 
metricsService.timer(getMetricName("imported_package_duration"));
-        removedPackageDuration = 
metricsService.timer(getMetricName("removed_package_duration"));
-        removedFailedPackageDuration = 
metricsService.timer(getMetricName("removed_failed_package_duration"));
-        failedPackageImports = 
metricsService.meter(getMetricName("failed_package_imports"));
-        sendStoredStatusDuration = 
metricsService.timer(getMetricName("send_stored_status_duration"));
-        processQueueItemDuration = 
metricsService.timer(getMetricName("process_queue_item_duration"));
-        packageDistributedDuration = 
metricsService.timer(getMetricName("request_distributed_duration"));
-        packageJournalDistributionDuration = 
metricsService.timer(getMetricName("package_journal_distribution_duration"));
-        importPreProcessDuration = 
metricsService.timer(getMetricName("import_pre_process_duration"));
-        importPreProcessSuccess = 
metricsService.counter(getMetricName("import_pre_process_success_count"));
-        importPreProcessRequest = 
metricsService.counter(getMetricName("import_pre_process_request_count"));
-        importPostProcessDuration = 
metricsService.timer(getMetricName("import_post_process_duration"));
-        importPostProcessSuccess = 
metricsService.counter(getMetricName("import_post_process_success_count"));
-        importPostProcessRequest = 
metricsService.counter(getMetricName("import_post_process_request_count"));
-        invalidationProcessDuration = 
metricsService.timer(getMetricName("invalidation_process_duration"));
-        invalidationProcessSuccess = 
metricsService.counter(getMetricName("invalidation_process_success_count"));
-        invalidationProcessRequest = 
metricsService.counter(getMetricName("invalidation_process_request_count"));
-        transientImportErrors = 
metricsService.counter(getMetricName("transient_import_errors"));
-        permanentImportErrors = 
metricsService.counter(getMetricName("permanent_import_errors"));
+        tagSubName = Tag.of(TAG_SUB_NAME, subAgentName);
+        tagEditable = Tag.of(TAG_EDITABLE, Boolean.toString(editable));
+        tags = Arrays.asList(
+                tagSubName, 
+                tagEditable);
     }
 
     /**
@@ -112,7 +105,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics histogram
      */
     public Histogram getImportedPackageSize() {
-        return importedPackageSize;
+        return metricsService.histogram(getMetricName(IMPORTED_PACKAGE_SIZE, 
tags));
     }
 
     /**
@@ -121,7 +114,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics counter
      */
     public Counter getItemsBufferSize() {
-        return itemsBufferSize;
+        return metricsService.counter(getMetricName(ITEMS_BUFFER_SIZE, tags));
     } 
 
     /**
@@ -130,7 +123,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics timer
      */
     public Timer getImportedPackageDuration() {
-        return importedPackageDuration;
+        return metricsService.timer(getMetricName(IMPORTED_PACKAGE_DURATION, 
tags));
     }
 
     /**
@@ -139,7 +132,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics timer
      */
     public Timer getRemovedPackageDuration() {
-        return removedPackageDuration;
+        return metricsService.timer(getMetricName(REMOVED_PACKAGE_DURATION, 
tags));
     }
 
     /**
@@ -148,7 +141,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics timer
      */
     public Timer getRemovedFailedPackageDuration() {
-        return removedFailedPackageDuration;
+        return 
metricsService.timer(getMetricName(REMOVED_FAILED_PACKAGE_DURATION, tags));
     }
 
     /**
@@ -157,7 +150,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics meter
      */
     public Meter getFailedPackageImports() {
-        return failedPackageImports;
+        return metricsService.meter(getMetricName(FAILED_PACKAGE_IMPORTS, 
tags));
     }
 
     /**
@@ -166,7 +159,7 @@ public class SubscriberMetrics {
      * @return a Sling Metric timer
      */
     public Timer getSendStoredStatusDuration() {
-        return sendStoredStatusDuration;
+        return metricsService.timer(getMetricName(SEND_STORED_STATUS_DURATION, 
tags));
     }
 
     /**
@@ -175,7 +168,7 @@ public class SubscriberMetrics {
      * @return a Sling Metric timer
      */
     public Timer getProcessQueueItemDuration() {
-        return processQueueItemDuration;
+        return metricsService.timer(getMetricName(PROCESS_QUEUE_ITEM_DURATION, 
tags));
     }
 
     /**
@@ -185,7 +178,7 @@ public class SubscriberMetrics {
      * @return a Sling Metric timer
      */
     public Timer getPackageDistributedDuration() {
-        return packageDistributedDuration;
+        return 
metricsService.timer(getMetricName(REQUEST_DISTRIBUTED_DURATION, tags));
     }
 
     /**
@@ -195,7 +188,7 @@ public class SubscriberMetrics {
      * @return a Sling Metrics timer
      */
     public Timer getPackageJournalDistributionDuration() {
-        return packageJournalDistributionDuration;
+        return 
metricsService.timer(getMetricName(PACKAGE_JOURNAL_DISTRIBUTION_DURATION, 
tags));
     }
 
     /**
@@ -204,63 +197,58 @@ public class SubscriberMetrics {
      * @return a Sling Metric counter
      */
     public Counter getPackageStatusCounter(Status status) {
-        return 
metricsService.counter(getNameWithLabel(getMetricName("package_status_count"), 
"status", status.name()));
+        Tag tagStatus = Tag.of(TAG_STATUS, status.name());
+        String name = getMetricName(PACKAGE_STATUS_COUNT, 
Arrays.asList(tagSubName, tagEditable, tagStatus));
+        return metricsService.counter(name);
     }
 
     public Timer getImportPreProcessDuration() {
-        return importPreProcessDuration;
+        return metricsService.timer(getMetricName(IMPORT_PRE_PROCESS_DURATION, 
tags));
     }
 
     public Counter getImportPreProcessSuccess() {
-        return importPreProcessSuccess;
+        return 
metricsService.counter(getMetricName(IMPORT_PRE_PROCESS_SUCCESS_COUNT, tags));
     }
 
     public Counter getImportPreProcessRequest() {
-        return importPreProcessRequest;
+        return 
metricsService.counter(getMetricName(IMPORT_PRE_PROCESS_REQUEST_COUNT, tags));
     }
 
     public Timer getImportPostProcessDuration() {
-        return importPostProcessDuration;
+        return 
metricsService.timer(getMetricName(IMPORT_POST_PROCESS_DURATION, tags));
     }
 
     public Counter getImportPostProcessSuccess() {
-        return importPostProcessSuccess;
+        return 
metricsService.counter(getMetricName(IMPORT_POST_PROCESS_SUCCESS_COUNT, tags));
     }
 
     public Counter getImportPostProcessRequest() {
-        return importPostProcessRequest;
+        return 
metricsService.counter(getMetricName(IMPORT_POST_PROCESS_REQUEST_COUNT, tags));
     }
 
     public Timer getInvalidationProcessDuration() {
-        return invalidationProcessDuration;
+        return 
metricsService.timer(getMetricName(INVALIDATION_PROCESS_DURATION, tags));
     }
 
     public Counter getInvalidationProcessSuccess() {
-        return invalidationProcessSuccess;
+        return 
metricsService.counter(getMetricName(INVALIDATION_PROCESS_SUCCESS_COUNT, tags));
     }
 
     public Counter getInvalidationProcessRequest() {
-        return invalidationProcessRequest;
+        return 
metricsService.counter(getMetricName(INVALIDATION_PROCESS_REQUEST_COUNT, tags));
     }
 
     public Counter getTransientImportErrors() {
-        return transientImportErrors;
+        return metricsService.counter(getMetricName(TRANSIENT_IMPORT_ERRORS, 
tags));
     }
 
     public Counter getPermanentImportErrors() { 
-        return permanentImportErrors;
+        return metricsService.counter(getMetricName(PERMANENT_IMPORT_ERRORS, 
tags));
     }
 
-    public void currentRetries(String subAgentName, Supplier<Integer> 
retriesCallback) {
-        String nameRetries = SubscriberMetrics.SUB_COMPONENT + 
".current_retries;sub_name=" + subAgentName;
-        metricsService.gauge(nameRetries, retriesCallback);
+    public void currentRetries(Supplier<Integer> retriesCallback) {
+        metricsService.gauge(getMetricName(CURRENT_RETRIES, tags), 
retriesCallback);
     }
     
-    private String getMetricName(String name) {
-        return format("%s.%s", SUB_COMPONENT, name);
-    }
-
-    private String getNameWithLabel(String name, String label, String 
labelVal) {
-        return format("%s;%s=%s", name, label, labelVal);
-    }
 }
+ 
\ No newline at end of file
diff --git 
a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
 
b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
index 170eeb0..ec19340 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/impl/subscriber/DistributionSubscriber.java
@@ -52,6 +52,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.jackrabbit.util.Text;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.PersistenceException;
+import org.apache.sling.commons.metrics.MetricsService;
 import org.apache.sling.commons.metrics.Timer;
 import org.apache.sling.distribution.ImportPostProcessException;
 import org.apache.sling.distribution.agent.DistributionAgentState;
@@ -119,7 +120,7 @@ public class DistributionSubscriber {
     private Precondition precondition;
 
     @Reference
-    private SubscriberMetrics subscriberMetrics;
+    private MetricsService metricsService;
 
     @Reference
     BookKeeperFactory bookKeeperFactory;
@@ -127,6 +128,8 @@ public class DistributionSubscriber {
     @Reference
     private SubscriberReadyStore subscriberReadyStore;
 
+    private SubscriberMetrics subscriberMetrics;
+
     private volatile Closeable idleReadyCheck; // NOSONAR
 
     private volatile IdleCheck idleCheck; // NOSONAR
@@ -162,12 +165,15 @@ public class DistributionSubscriber {
         subAgentName = requireNotBlank(config.name());
         requireNonNull(config);
         requireNonNull(context);
+        requireNonNull(metricsService);
         requireNonNull(packageBuilder);
         requireNonNull(slingSettings);
         requireNonNull(messagingProvider);
         requireNonNull(topics);
         requireNonNull(precondition);
         requireNonNull(bookKeeperFactory);
+        
+        this.subscriberMetrics = new SubscriberMetrics(metricsService, 
subAgentName, config.editable());
 
         long idleMillies = getLong(properties, 
SubscriberReady.DEFAULT_IDLE_TIME_MILLIS);
         if (config.editable()) {
@@ -198,7 +204,7 @@ public class DistributionSubscriber {
                 config.packageHandling(),
                 packageNodeName,
                 
config.contentPackageExtractorOverwritePrimaryTypesOfFolders());
-        bookKeeper = bookKeeperFactory.create(packageBuilder, bkConfig, 
statusSender, logSender);
+        bookKeeper = bookKeeperFactory.create(packageBuilder, bkConfig, 
statusSender, logSender, this.subscriberMetrics);
 
         long startOffset = bookKeeper.loadOffset() + 1;
         String assign = startOffset > 0 ? 
messagingProvider.assignTo(startOffset) : null;
diff --git 
a/src/main/java/org/apache/sling/distribution/journal/metrics/TaggedMetrics.java
 
b/src/main/java/org/apache/sling/distribution/journal/metrics/TaggedMetrics.java
index 0c52dd7..b34f294 100644
--- 
a/src/main/java/org/apache/sling/distribution/journal/metrics/TaggedMetrics.java
+++ 
b/src/main/java/org/apache/sling/distribution/journal/metrics/TaggedMetrics.java
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.distribution.journal.metrics;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,4 +38,8 @@ public final class TaggedMetrics {
         log.debug("metric={}", metric);
         return metric;
     }
+    
+    public static String getMetricName(String metricName, Tag tag) {
+        return getMetricName(metricName, Collections.singletonList(tag));
+    }
 }
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
index bf72a26..2663457 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
@@ -88,9 +88,8 @@ public class BookKeeperTest {
 
     @Before
     public void before() {
-        subscriberMetrics = new SubscriberMetrics(MetricsService.NOOP);
-
         BookKeeperConfig bkConfig = new BookKeeperConfig("subAgentName", 
"subSlingId", true, 10, PackageHandling.Extract, "package", true);
+        subscriberMetrics = new SubscriberMetrics(MetricsService.NOOP, 
bkConfig.getSubAgentName(), bkConfig.isEditable());
         bookKeeper = new BookKeeper(resolverFactory, subscriberMetrics, 
packageHandler, eventAdmin, sender, logSender, bkConfig,
                 importPreProcessor, importPostProcessor, 
invalidationProcessor);
     }
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
index c73b4b5..56ab9fc 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
@@ -74,7 +74,6 @@ import org.apache.sling.distribution.journal.Reset;
 import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
 import org.apache.sling.distribution.journal.bookkeeper.BookKeeperFactory;
 import org.apache.sling.distribution.journal.bookkeeper.LocalStore;
-import org.apache.sling.distribution.journal.bookkeeper.SubscriberMetrics;
 import org.apache.sling.distribution.journal.shared.NoOpImportPreProcessor;
 import org.apache.sling.distribution.journal.shared.NoOpImportPostProcessor;
 import org.apache.sling.distribution.journal.impl.precondition.Precondition;
@@ -113,7 +112,6 @@ import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.event.EventAdmin;
 import org.osgi.util.converter.Converters;
 
-@SuppressWarnings("unchecked")
 @RunWith(MockitoJUnitRunner.class)
 public class SubscriberTest {
 
@@ -180,7 +178,7 @@ public class SubscriberTest {
     private MessageSender<PackageStatusMessage> statusSender;
 
     @Spy
-    private SubscriberMetrics subscriberMetrics = new 
SubscriberMetrics(MetricsService.NOOP);
+    private MetricsService metricsService = MetricsService.NOOP;
 
     @Spy
     private ImportPreProcessor importPreProcessor = new 
NoOpImportPreProcessor();
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/SubscriberMetricsTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/SubscriberMetricsTest.java
index 85eb95c..a3f0878 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/SubscriberMetricsTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/SubscriberMetricsTest.java
@@ -42,7 +42,7 @@ public class SubscriberMetricsTest {
     @Before
     public void before() {
         MetricsService metricsService = MetricsService.NOOP;
-        metrics = new SubscriberMetrics(metricsService);
+        metrics = new SubscriberMetrics(metricsService, "subAgentName", true);
     }
 
     public static void mockBehaviour(MetricsService metricsService) {

Reply via email to