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;

Reply via email to