This is an automated email from the ASF dual-hosted git repository. pfzhan pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin5 by this push: new 7dbdb7263b KYLIN-6035 Support for showing project list in ops_plan 7dbdb7263b is described below commit 7dbdb7263b9418cf8c5c4b3c0092873f20a6511e Author: Guoliang Sun <guoliang....@kyligence.io> AuthorDate: Wed Jul 10 18:28:41 2024 +0800 KYLIN-6035 Support for showing project list in ops_plan --- .../src/main/java/org/apache/kylin/rest/config/MetricsConfig.java | 3 +++ .../org/apache/kylin/rest/config/initialize/MetricsRegistry.java | 1 + .../org/apache/kylin/rest/config/initialize/MetricsRegistryTest.java | 5 ++++- .../apache/kylin/common/metrics/prometheus/PrometheusMetrics.java | 4 +++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/MetricsConfig.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/MetricsConfig.java index d6f3dd233f..70db57f3eb 100644 --- a/src/common-service/src/main/java/org/apache/kylin/rest/config/MetricsConfig.java +++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/MetricsConfig.java @@ -108,6 +108,9 @@ public class MetricsConfig { for (String outDatedProject : outDatedProjects) { log.info("Remove project metrics for {}", outDatedProject); MetricsGroup.removeProjectMetrics(outDatedProject); + if (KylinConfig.getInstanceFromEnv().isPrometheusMetricsEnabled()) { + MetricsRegistry.deletePrometheusProjectMetrics(outDatedProject); + } MetricsRegistry.removeProjectFromStorageSizeMap(outDatedProject); } diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java index 123e755c88..b4cc1733c1 100644 --- a/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java +++ b/src/common-service/src/main/java/org/apache/kylin/rest/config/initialize/MetricsRegistry.java @@ -237,6 +237,7 @@ public class MetricsRegistry { }).tags(projectTag).tags(MetricsTag.STATE.getVal(), MetricsTag.RUNNING.getVal()) .description("Number of spark job by build engine").register(meterRegistry); } + Gauge.builder(PrometheusMetrics.PROJECT_LIST.getValue(), () -> 0).tags(projectTag).register(meterRegistry); for (double runningTimeoutHour : RUNNING_JOB_TIMEOUT_HOUR) { Gauge.builder(PrometheusMetrics.JOB_LONG_RUNNING.getValue(), () -> MetricsRegistry.projectRunningJobMap diff --git a/src/common-service/src/test/java/org/apache/kylin/rest/config/initialize/MetricsRegistryTest.java b/src/common-service/src/test/java/org/apache/kylin/rest/config/initialize/MetricsRegistryTest.java index 2913a663c8..6888d4afdc 100644 --- a/src/common-service/src/test/java/org/apache/kylin/rest/config/initialize/MetricsRegistryTest.java +++ b/src/common-service/src/test/java/org/apache/kylin/rest/config/initialize/MetricsRegistryTest.java @@ -205,6 +205,10 @@ public class MetricsRegistryTest extends NLocalFileMetadataTestCase { kylinConfig.setProperty("kylin.metrics.prometheus-enabled", "true"); MetricsRegistry.registerProjectPrometheusMetrics(kylinConfig, project); + Collection<Gauge> gauges3 = meterRegistry.find(PrometheusMetrics.PROJECT_LIST.getValue()).gauges(); + Assert.assertEquals(1, gauges3.size()); + gauges3.forEach(Gauge::value); + Collection<Gauge> gauges4 = meterRegistry.find(PrometheusMetrics.JOB_COUNTS.getValue()).gauges(); Assert.assertEquals(1, gauges4.size()); gauges4.forEach(Gauge::value); @@ -255,7 +259,6 @@ public class MetricsRegistryTest extends NLocalFileMetadataTestCase { Assert.assertEquals(5, gauges7.stream().filter(e -> e.value() == 1).count()); } - @Test public void testRegisterMicrometerProjectMetrics() { StorageVolumeInfoResponse response = Mockito.mock(StorageVolumeInfoResponse.class); diff --git a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/prometheus/PrometheusMetrics.java b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/prometheus/PrometheusMetrics.java index bff885211d..c87b6e6d07 100644 --- a/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/prometheus/PrometheusMetrics.java +++ b/src/core-metrics/src/main/java/org/apache/kylin/common/metrics/prometheus/PrometheusMetrics.java @@ -44,7 +44,9 @@ public enum PrometheusMetrics { JOB_MINUTES("kylin_job_minutes", Type.PROJECT_METRIC), // JOB_LONG_RUNNING("kylin_long_running_jobs", Type.PROJECT_METRIC), // - MODEL_BUILD_DURATION("kylin_model_build_minutes", Type.PROJECT_METRIC | Type.MODEL_METRIC); + MODEL_BUILD_DURATION("kylin_model_build_minutes", Type.PROJECT_METRIC | Type.MODEL_METRIC), + + PROJECT_LIST("kylin_project_list", Type.PROJECT_METRIC); private static class Type { public static final int GLOBAL = 0;