From c7bd094ad7deebfddb6da052dfdf4a085e00940f Mon Sep 17 00:00:00 2001 From: Suresh Prakash <93120060+suresh-prakash@users.noreply.github.com> Date: Wed, 19 Feb 2025 17:14:31 +0530 Subject: [PATCH 1/4] ENG-57034: Disable reporting of standard database metrics --- .../docstore/metrics/DocStoreMetricsRegistry.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java index 6dd72fe..f138ecc 100644 --- a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java +++ b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java @@ -167,11 +167,14 @@ public StandardDocStoreMetricsRegistry() { } private void monitor() { - executor.scheduleAtFixedRate( - this::queryDocStoreAndSetMetricValues, - INITIAL_DELAY_SECONDS, - standardMetricsReportingInterval.toSeconds(), - SECONDS); + // TODO: Disabled for fixing ENG-57034 + // This module can be removed once we have an external monitoring solution + + // executor.scheduleAtFixedRate( + // this::queryDocStoreAndSetMetricValues, + // INITIAL_DELAY_SECONDS, + // standardMetricsReportingInterval.toSeconds(), + // SECONDS); } private AtomicLong registerConnectionCountMetric() { From 9d5bcc177dbd2d196fbd6efa435e3c404798f6a9 Mon Sep 17 00:00:00 2001 From: Suresh Prakash <93120060+suresh-prakash@users.noreply.github.com> Date: Wed, 19 Feb 2025 20:35:16 +0530 Subject: [PATCH 2/4] Remove standard metric reporting --- .../metrics/DocStoreMetricsRegistry.java | 36 ------------------- 1 file changed, 36 deletions(-) diff --git a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java index f138ecc..e567633 100644 --- a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java +++ b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java @@ -97,7 +97,6 @@ public void monitor() { addShutdownHook(); - new StandardDocStoreMetricsRegistry().monitor(); monitorCustomMetrics(); } @@ -158,39 +157,4 @@ private void report( log.warn("Unable to report custom database metric for config: {}", reportingConfig, e); } } - - private class StandardDocStoreMetricsRegistry { - private final AtomicLong connectionCount; - - public StandardDocStoreMetricsRegistry() { - this.connectionCount = registerConnectionCountMetric(); - } - - private void monitor() { - // TODO: Disabled for fixing ENG-57034 - // This module can be removed once we have an external monitoring solution - - // executor.scheduleAtFixedRate( - // this::queryDocStoreAndSetMetricValues, - // INITIAL_DELAY_SECONDS, - // standardMetricsReportingInterval.toSeconds(), - // SECONDS); - } - - private AtomicLong registerConnectionCountMetric() { - final DocStoreMetric docStoreMetric = metricProvider.getConnectionCountMetric(); - return PlatformMetricsRegistry.registerGauge( - docStoreMetric.name(), - docStoreMetric.labels(), - new AtomicLong(castToLong(docStoreMetric.value()))); - } - - private void queryDocStoreAndSetMetricValues() { - connectionCount.set(castToLong(metricProvider.getConnectionCountMetric().value())); - } - - private long castToLong(final double value) { - return Double.valueOf(value).longValue(); - } - } } From 6a46aeaa641574ad657dd942b8c057b7754a8ec4 Mon Sep 17 00:00:00 2001 From: Suresh Prakash Date: Thu, 20 Feb 2025 11:17:29 +0530 Subject: [PATCH 3/4] Spotless apply --- .../metrics/DocStoreMetricsRegistry.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java index e567633..28f8144 100644 --- a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java +++ b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java @@ -1,30 +1,29 @@ package org.hypertrace.core.serviceframework.docstore.metrics; -import static java.lang.Thread.MIN_PRIORITY; -import static java.util.Collections.emptyList; -import static java.util.concurrent.TimeUnit.MINUTES; -import static java.util.concurrent.TimeUnit.SECONDS; -import static java.util.stream.Collectors.toUnmodifiableList; -import static org.hypertrace.core.serviceframework.metrics.PlatformMetricsRegistry.registerResizeableGauge; - import com.google.common.util.concurrent.ThreadFactoryBuilder; import io.micrometer.common.lang.Nullable; -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.atomic.AtomicLong; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.hypertrace.core.documentstore.Datastore; import org.hypertrace.core.documentstore.metric.DocStoreMetric; import org.hypertrace.core.documentstore.metric.DocStoreMetricProvider; import org.hypertrace.core.serviceframework.metrics.Measurement; -import org.hypertrace.core.serviceframework.metrics.PlatformMetricsRegistry; import org.hypertrace.core.serviceframework.metrics.ResizeableGauge; import org.hypertrace.core.serviceframework.spi.PlatformServiceLifecycle; +import java.time.Duration; +import java.util.List; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; + +import static java.lang.Thread.MIN_PRIORITY; +import static java.util.Collections.emptyList; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.stream.Collectors.toUnmodifiableList; +import static org.hypertrace.core.serviceframework.metrics.PlatformMetricsRegistry.registerResizeableGauge; + @Slf4j @SuppressWarnings("unused") public class DocStoreMetricsRegistry { From ee7c6e14f51d012aafc7f9b256625d9eb7e2d7a5 Mon Sep 17 00:00:00 2001 From: Suresh Prakash Date: Thu, 20 Feb 2025 11:21:56 +0530 Subject: [PATCH 4/4] Fix import order --- .../metrics/DocStoreMetricsRegistry.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java index 28f8144..51e5877 100644 --- a/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java +++ b/docstore-metrics/src/main/java/org/hypertrace/core/serviceframework/docstore/metrics/DocStoreMetricsRegistry.java @@ -1,7 +1,19 @@ package org.hypertrace.core.serviceframework.docstore.metrics; +import static java.lang.Thread.MIN_PRIORITY; +import static java.util.Collections.emptyList; +import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.stream.Collectors.toUnmodifiableList; +import static org.hypertrace.core.serviceframework.metrics.PlatformMetricsRegistry.registerResizeableGauge; + import com.google.common.util.concurrent.ThreadFactoryBuilder; import io.micrometer.common.lang.Nullable; +import java.time.Duration; +import java.util.List; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.hypertrace.core.documentstore.Datastore; @@ -11,19 +23,6 @@ import org.hypertrace.core.serviceframework.metrics.ResizeableGauge; import org.hypertrace.core.serviceframework.spi.PlatformServiceLifecycle; -import java.time.Duration; -import java.util.List; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ThreadFactory; - -import static java.lang.Thread.MIN_PRIORITY; -import static java.util.Collections.emptyList; -import static java.util.concurrent.TimeUnit.MINUTES; -import static java.util.concurrent.TimeUnit.SECONDS; -import static java.util.stream.Collectors.toUnmodifiableList; -import static org.hypertrace.core.serviceframework.metrics.PlatformMetricsRegistry.registerResizeableGauge; - @Slf4j @SuppressWarnings("unused") public class DocStoreMetricsRegistry {