This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new f5b94632ae Adapt query supported metrics names in Baseline (#13007)
f5b94632ae is described below

commit f5b94632aec6a8648fa84648cc463a5c530c879d
Author: mrproliu <[email protected]>
AuthorDate: Thu Jan 23 13:37:33 2025 +0800

    Adapt query supported metrics names in Baseline (#13007)
---
 .../server/baseline/service/BaselineQueryService.java    |  6 ++++++
 .../baseline/service/BaselineQueryServiceImpl.java       | 16 ++++++++++++++++
 .../oap/server/baseline/BaselineQueryServer.java         | 10 ++++++++++
 .../oap/server/baseline/BaselineServerTest.java          |  6 ++++++
 4 files changed, 38 insertions(+)

diff --git 
a/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryService.java
 
b/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryService.java
index dd8b41d083..3bf9818918 100644
--- 
a/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryService.java
+++ 
b/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryService.java
@@ -23,6 +23,12 @@ import 
org.apache.skywalking.oap.server.library.module.Service;
 import java.util.List;
 
 public interface BaselineQueryService extends Service {
+    /**
+     * query supported query baseline metrics names
+     * @return
+     */
+    List<String> querySupportedMetrics();
+
     /**
      * query predict metrics
      */
diff --git 
a/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryServiceImpl.java
 
b/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryServiceImpl.java
index edc18cae14..8f66738a49 100644
--- 
a/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryServiceImpl.java
+++ 
b/oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryServiceImpl.java
@@ -18,9 +18,11 @@
 
 package org.apache.skywalking.oap.server.baseline.service;
 
+import com.google.protobuf.Empty;
 import io.grpc.ManagedChannel;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricPrediction;
+import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricsNames;
 import org.apache.skywalking.apm.baseline.v3.AlarmBaselineRequest;
 import org.apache.skywalking.apm.baseline.v3.AlarmBaselineResponse;
 import org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceGrpc;
@@ -30,8 +32,10 @@ import org.apache.skywalking.apm.baseline.v3.TimeBucketStep;
 import org.apache.skywalking.oap.server.library.client.grpc.GRPCClient;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -48,6 +52,18 @@ public class BaselineQueryServiceImpl implements 
BaselineQueryService {
         stub = AlarmBaselineServiceGrpc.newBlockingStub(channel);
     }
 
+    @Override
+    public List<String> querySupportedMetrics() {
+        if (stub == null) {
+            return Collections.emptyList();
+        }
+
+        final AlarmBaselineMetricsNames names = 
stub.querySupportedMetricsNames(Empty.newBuilder().build());
+        return Optional.ofNullable(names)
+            .map(AlarmBaselineMetricsNames::getMetricNamesList)
+            .map(ArrayList::new).orElse(new ArrayList<>(0));
+    }
+
     public List<PredictServiceMetrics> 
queryPredictMetrics(List<ServiceMetrics> serviceMetrics, long startTimeBucket, 
long endTimeBucket) {
         if (stub == null) {
             return Collections.emptyList();
diff --git 
a/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineQueryServer.java
 
b/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineQueryServer.java
index b6b7991ce6..b2eafd8597 100644
--- 
a/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineQueryServer.java
+++ 
b/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineQueryServer.java
@@ -18,9 +18,11 @@
 
 package org.apache.skywalking.oap.server.baseline;
 
+import com.google.protobuf.Empty;
 import io.grpc.stub.StreamObserver;
 import lombok.Builder;
 import lombok.Data;
+import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricsNames;
 import org.apache.skywalking.oap.server.core.analysis.DownSampling;
 import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
 import org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceGrpc;
@@ -87,6 +89,14 @@ public class BaselineQueryServer extends 
AlarmBaselineServiceGrpc.AlarmBaselineS
             .build());
     }
 
+    @Override
+    public void querySupportedMetricsNames(Empty request, 
StreamObserver<AlarmBaselineMetricsNames> responseObserver) {
+        responseObserver.onNext(AlarmBaselineMetricsNames.newBuilder()
+            .addAllMetricNames(VALUE_GENERATOR.keySet())
+            .build());
+        responseObserver.onCompleted();
+    }
+
     @Override
     public void 
queryPredictedMetrics(org.apache.skywalking.apm.baseline.v3.AlarmBaselineRequest
 request, 
StreamObserver<org.apache.skywalking.apm.baseline.v3.AlarmBaselineResponse> 
responseObserver) {
         final 
List<org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceMetric> metrics 
= new ArrayList<>();
diff --git 
a/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineServerTest.java
 
b/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineServerTest.java
index ccb544180b..254ef3e4ec 100644
--- 
a/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineServerTest.java
+++ 
b/oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineServerTest.java
@@ -98,4 +98,10 @@ public class BaselineServerTest {
         assertNotNull(metrics);
     }
 
+    @Test
+    public void queryMetricsNames() {
+        final List<String> metrics = queryService.querySupportedMetrics();
+        assertNotNull(metrics);
+    }
+
 }

Reply via email to