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
commit 9f4f025a566fb8968bd924cfcbb3c257a7008861 Author: Christian Schneider <cschn...@adobe.com> AuthorDate: Fri Apr 12 15:43:35 2024 +0200 SLING-12292 - Cleanup --- .../journal/bookkeeper/BookKeeper.java | 12 ++- .../journal/bookkeeper/SubscriberMetrics.java | 96 +++++++--------------- .../journal/impl/publisher/PublishMetrics.java | 66 +++------------ .../journal/shared/SubscriberMetricsTest.java | 1 - 4 files changed, 45 insertions(+), 130 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 bc7805b..11e5ccd 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 @@ -49,8 +49,6 @@ import org.apache.sling.distribution.journal.messages.LogMessage; import org.apache.sling.distribution.journal.messages.PackageMessage; import org.apache.sling.distribution.journal.messages.PackageStatusMessage; import org.apache.sling.distribution.journal.messages.PackageStatusMessage.Status; -import org.apache.sling.distribution.journal.shared.NoOpImportPostProcessor; -import org.apache.sling.distribution.journal.shared.NoOpInvalidationProcessor; import org.osgi.service.event.Event; import org.osgi.service.event.EventAdmin; import org.slf4j.Logger; @@ -161,7 +159,7 @@ public class BookKeeper { Event event = new AppliedEvent(pkgMsg, config.getSubAgentName()).toEvent(); eventAdmin.postEvent(event); log.info("Imported distribution package {} at offset={}", pkgMsg, offset); - subscriberMetrics.getPackageStatusCounter(Status.IMPORTED.name()).increment(); + subscriberMetrics.getPackageStatusCounter(Status.IMPORTED).increment(); } catch (DistributionException | LoginException | IOException | RuntimeException | ImportPostProcessException e) { failure(pkgMsg, offset, e); } @@ -194,7 +192,7 @@ public class BookKeeper { log.info("Invalidated the cache for the package {} at offset={}", pkgMsg, offset); - subscriberMetrics.getPackageStatusCounter(Status.IMPORTED.name()).increment(); + subscriberMetrics.getPackageStatusCounter(Status.IMPORTED).increment(); subscriberMetrics.getInvalidationProcessDuration().update((currentTimeMillis() - invalidationStartTime), TimeUnit.MILLISECONDS); subscriberMetrics.getInvalidationProcessSuccess().increment(); } catch (LoginException | PersistenceException | InvalidationProcessException e) { @@ -243,7 +241,7 @@ public class BookKeeper { logSender.accept(logMessage); } catch (Exception e2) { log.warn("Error sending log message", e2); - }; + } if (giveUp) { log.warn(msg, e); removeFailedPackage(pkgMsg, offset); @@ -280,7 +278,7 @@ public class BookKeeper { } packageRetries.clear(pkgMsg.getPubAgentName()); context.stop(); - subscriberMetrics.getPackageStatusCounter(Status.REMOVED.name()).increment(); + subscriberMetrics.getPackageStatusCounter(Status.REMOVED).increment(); } public void skipPackage(long offset) throws LoginException, PersistenceException { @@ -396,7 +394,7 @@ public class BookKeeper { throw new DistributionException("Error removing failed package", e); } context.stop(); - subscriberMetrics.getPackageStatusCounter(Status.REMOVED_FAILED.name()).increment(); + subscriberMetrics.getPackageStatusCounter(Status.REMOVED_FAILED).increment(); } private void storeStatus(ResourceResolver resolver, PackageStatus packageStatus) throws PersistenceException { 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 c7a4c3e..51ae453 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 @@ -23,21 +23,18 @@ import static java.lang.String.format; import java.util.function.Supplier; import org.apache.sling.commons.metrics.Counter; -import org.apache.sling.commons.metrics.Gauge; import org.apache.sling.commons.metrics.Histogram; 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; @Component(service = SubscriberMetrics.class) public class SubscriberMetrics { - - public static final String BASE_COMPONENT = "distribution.journal"; - - public static final String SUB_COMPONENT = BASE_COMPONENT + ".subscriber"; + public static final String SUB_COMPONENT = "distribution.journal.subscriber"; private final MetricsService metricsService; @@ -80,24 +77,24 @@ public class SubscriberMetrics { @Activate public SubscriberMetrics(@Reference MetricsService metricsService) { this.metricsService = metricsService; - importedPackageSize = getHistogram(getMetricName(SUB_COMPONENT, "imported_package_size")); - itemsBufferSize = getCounter(getMetricName(SUB_COMPONENT, "items_buffer_size")); - importedPackageDuration = getTimer(getMetricName(SUB_COMPONENT, "imported_package_duration")); - removedPackageDuration = getTimer(getMetricName(SUB_COMPONENT, "removed_package_duration")); - removedFailedPackageDuration = getTimer(getMetricName(SUB_COMPONENT, "removed_failed_package_duration")); - failedPackageImports = getMeter(getMetricName(SUB_COMPONENT, "failed_package_imports")); - sendStoredStatusDuration = getTimer(getMetricName(SUB_COMPONENT, "send_stored_status_duration")); - processQueueItemDuration = getTimer(getMetricName(SUB_COMPONENT, "process_queue_item_duration")); - packageDistributedDuration = getTimer(getMetricName(SUB_COMPONENT, "request_distributed_duration")); - packageJournalDistributionDuration = getTimer(getMetricName(SUB_COMPONENT, "package_journal_distribution_duration")); - importPostProcessDuration = getTimer(getMetricName(SUB_COMPONENT, "import_post_process_duration")); - importPostProcessSuccess = getCounter(getMetricName(SUB_COMPONENT, "import_post_process_success_count")); - importPostProcessRequest = getCounter(getMetricName(SUB_COMPONENT, "import_post_process_request_count")); - invalidationProcessDuration = getTimer(getMetricName(SUB_COMPONENT, "invalidation_process_duration")); - invalidationProcessSuccess = getCounter(getMetricName(SUB_COMPONENT, "invalidation_process_success_count")); - invalidationProcessRequest = getCounter(getMetricName(SUB_COMPONENT, "invalidation_process_request_count")); - transientImportErrors = getCounter(getMetricName(SUB_COMPONENT, "transient_import_errors")); - permanentImportErrors = getCounter(getMetricName(SUB_COMPONENT, "permanent_import_errors")); + 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")); + 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")); } /** @@ -192,53 +189,13 @@ public class SubscriberMetrics { return packageJournalDistributionDuration; } - /** - * Counter of journal error codes. - * - * @return a Sling Metric counter - */ - public Counter getJournalErrorCodeCount(String errorCode) { - return getCounter( - getNameWithLabel(getMetricName(BASE_COMPONENT, "journal_unavailable_error_code_count"), "error_code", errorCode)); - } - /** * Counter for all the different package status. * * @return a Sling Metric counter */ - public Counter getPackageStatusCounter(String status) { - return getCounter( - getNameWithLabel(getMetricName(BASE_COMPONENT, "package_status_count"), "status", status) - ); - } - - private <T> Gauge<T> createGauge(String name, Supplier<T> supplier) { - return metricsService.gauge(name, supplier); - } - - private String getMetricName(String component, String name) { - return format("%s.%s", component, name); - } - - private String getNameWithLabel(String name, String label, String labelVal) { - return format("%s;%s=%s", name, label, labelVal); - } - - private Counter getCounter(String metricName) { - return metricsService.counter(metricName); - } - - private Timer getTimer(String metricName) { - return metricsService.timer(metricName); - } - - private Histogram getHistogram(String metricName) { - return metricsService.histogram(metricName); - } - - private Meter getMeter(String metricName) { - return metricsService.meter(metricName); + public Counter getPackageStatusCounter(Status status) { + return metricsService.counter(getNameWithLabel(getMetricName("package_status_count"), "status", status.name())); } public Timer getImportPostProcessDuration() { @@ -275,7 +232,14 @@ public class SubscriberMetrics { public void currentRetries(String subAgentName, Supplier<Integer> retriesCallback) { String nameRetries = SubscriberMetrics.SUB_COMPONENT + ".current_retries;sub_name=" + subAgentName; - createGauge(nameRetries, retriesCallback); + metricsService.gauge(nameRetries, 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); + } } 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 29f252a..ce53518 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 @@ -23,7 +23,6 @@ import static java.lang.String.format; import java.util.function.Supplier; import org.apache.sling.commons.metrics.Counter; -import org.apache.sling.commons.metrics.Gauge; import org.apache.sling.commons.metrics.Histogram; import org.apache.sling.commons.metrics.Meter; import org.apache.sling.commons.metrics.MetricsService; @@ -58,13 +57,13 @@ public class PublishMetrics { @Activate public PublishMetrics(@Reference MetricsService metricsService) { this.metricsService = metricsService; - exportedPackageSize = getHistogram(getMetricName(PUB_COMPONENT, "exported_package_size")); - acceptedRequests = getMeter(getMetricName(PUB_COMPONENT, "accepted_requests")); - droppedRequests = getMeter(getMetricName(PUB_COMPONENT, "dropped_requests")); - buildPackageDuration = getTimer(getMetricName(PUB_COMPONENT, "build_package_duration")); - enqueuePackageDuration = getTimer(getMetricName(PUB_COMPONENT, "enqueue_package_duration")); - queueCacheFetchCount = getCounter(getMetricName(PUB_COMPONENT, "queue_cache_fetch_count")); - queueAccessErrorCount = getCounter(getMetricName(PUB_COMPONENT, "queue_access_error_count")); + exportedPackageSize = metricsService.histogram(getMetricName("exported_package_size")); + acceptedRequests = metricsService.meter(getMetricName("accepted_requests")); + droppedRequests = metricsService.meter(getMetricName("dropped_requests")); + buildPackageDuration = metricsService.timer(getMetricName("build_package_duration")); + enqueuePackageDuration = metricsService.timer(getMetricName("enqueue_package_duration")); + queueCacheFetchCount = metricsService.counter(getMetricName("queue_cache_fetch_count")); + queueAccessErrorCount = metricsService.counter(getMetricName("queue_access_error_count")); } /** @@ -130,59 +129,14 @@ public class PublishMetrics { return queueAccessErrorCount; } - /** - * Counter of journal error codes. - * - * @return a Sling Metric counter - */ - public Counter getJournalErrorCodeCount(String errorCode) { - return getCounter( - getNameWithLabel(getMetricName(BASE_COMPONENT, "journal_unavailable_error_code_count"), "error_code", errorCode)); - } - - /** - * Counter for all the different package status. - * - * @return a Sling Metric counter - */ - public Counter getPackageStatusCounter(String status) { - return getCounter( - getNameWithLabel(getMetricName(BASE_COMPONENT, "package_status_count"), "status", status) - ); - } - public void subscriberCount(String pubAgentName, Supplier<Integer> subscriberCountCallback) { - createGauge(PublishMetrics.PUB_COMPONENT + ".subscriber_count;pub_name=" + pubAgentName, + metricsService.gauge(PublishMetrics.PUB_COMPONENT + ".subscriber_count;pub_name=" + pubAgentName, subscriberCountCallback); } - private <T> Gauge<T> createGauge(String name, Supplier<T> supplier) { - return metricsService.gauge(name, supplier); - } - - private String getMetricName(String component, String name) { - return format("%s.%s", component, name); - } - - private String getNameWithLabel(String name, String label, String labelVal) { - return format("%s;%s=%s", name, label, labelVal); - } - - private Counter getCounter(String metricName) { - return metricsService.counter(metricName); - } - - private Timer getTimer(String metricName) { - return metricsService.timer(metricName); - } - - private Histogram getHistogram(String metricName) { - return metricsService.histogram(metricName); - } - - private Meter getMeter(String metricName) { - return metricsService.meter(metricName); + private String getMetricName(String name) { + return format("%s.%s", PUB_COMPONENT, name); } } 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 7d43820..85eb95c 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 @@ -66,7 +66,6 @@ public class SubscriberMetricsTest { assertNotNull(metrics.getRemovedFailedPackageDuration()); assertNotNull(metrics.getRemovedPackageDuration()); assertNotNull(metrics.getSendStoredStatusDuration()); - assertNotNull(metrics.getPackageStatusCounter("mockStatus")); assertNotNull(metrics.getTransientImportErrors()); assertNotNull(metrics.getPermanentImportErrors()); }