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 <[email protected]>
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;