Skip to content

Commit f5b9463

Browse files
authored
Adapt query supported metrics names in Baseline (#13007)
1 parent 5aaf832 commit f5b9463

File tree

4 files changed

+38
-0
lines changed

4 files changed

+38
-0
lines changed

oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
import java.util.List;
2424

2525
public interface BaselineQueryService extends Service {
26+
/**
27+
* query supported query baseline metrics names
28+
* @return
29+
*/
30+
List<String> querySupportedMetrics();
31+
2632
/**
2733
* query predict metrics
2834
*/

oap-server/metrics-baseline/src/main/java/org/apache/skywalking/oap/server/baseline/service/BaselineQueryServiceImpl.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@
1818

1919
package org.apache.skywalking.oap.server.baseline.service;
2020

21+
import com.google.protobuf.Empty;
2122
import io.grpc.ManagedChannel;
2223
import lombok.extern.slf4j.Slf4j;
2324
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricPrediction;
25+
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricsNames;
2426
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineRequest;
2527
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineResponse;
2628
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceGrpc;
@@ -30,8 +32,10 @@
3032
import org.apache.skywalking.oap.server.library.client.grpc.GRPCClient;
3133
import org.apache.skywalking.oap.server.library.util.StringUtil;
3234

35+
import java.util.ArrayList;
3336
import java.util.Collections;
3437
import java.util.List;
38+
import java.util.Optional;
3539
import java.util.stream.Collectors;
3640

3741
@Slf4j
@@ -48,6 +52,18 @@ public BaselineQueryServiceImpl(String addr, int port) {
4852
stub = AlarmBaselineServiceGrpc.newBlockingStub(channel);
4953
}
5054

55+
@Override
56+
public List<String> querySupportedMetrics() {
57+
if (stub == null) {
58+
return Collections.emptyList();
59+
}
60+
61+
final AlarmBaselineMetricsNames names = stub.querySupportedMetricsNames(Empty.newBuilder().build());
62+
return Optional.ofNullable(names)
63+
.map(AlarmBaselineMetricsNames::getMetricNamesList)
64+
.map(ArrayList::new).orElse(new ArrayList<>(0));
65+
}
66+
5167
public List<PredictServiceMetrics> queryPredictMetrics(List<ServiceMetrics> serviceMetrics, long startTimeBucket, long endTimeBucket) {
5268
if (stub == null) {
5369
return Collections.emptyList();

oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineQueryServer.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@
1818

1919
package org.apache.skywalking.oap.server.baseline;
2020

21+
import com.google.protobuf.Empty;
2122
import io.grpc.stub.StreamObserver;
2223
import lombok.Builder;
2324
import lombok.Data;
25+
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineMetricsNames;
2426
import org.apache.skywalking.oap.server.core.analysis.DownSampling;
2527
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
2628
import org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceGrpc;
@@ -87,6 +89,14 @@ public class BaselineQueryServer extends AlarmBaselineServiceGrpc.AlarmBaselineS
8789
.build());
8890
}
8991

92+
@Override
93+
public void querySupportedMetricsNames(Empty request, StreamObserver<AlarmBaselineMetricsNames> responseObserver) {
94+
responseObserver.onNext(AlarmBaselineMetricsNames.newBuilder()
95+
.addAllMetricNames(VALUE_GENERATOR.keySet())
96+
.build());
97+
responseObserver.onCompleted();
98+
}
99+
90100
@Override
91101
public void queryPredictedMetrics(org.apache.skywalking.apm.baseline.v3.AlarmBaselineRequest request, StreamObserver<org.apache.skywalking.apm.baseline.v3.AlarmBaselineResponse> responseObserver) {
92102
final List<org.apache.skywalking.apm.baseline.v3.AlarmBaselineServiceMetric> metrics = new ArrayList<>();

oap-server/metrics-baseline/src/test/java/org/apache/skywalking/oap/server/baseline/BaselineServerTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,10 @@ public void queryServices() throws Exception {
9898
assertNotNull(metrics);
9999
}
100100

101+
@Test
102+
public void queryMetricsNames() {
103+
final List<String> metrics = queryService.querySupportedMetrics();
104+
assertNotNull(metrics);
105+
}
106+
101107
}

0 commit comments

Comments
 (0)