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);
+ }
+
}