Webui use register center to find routing server. and use searchClient to search traceId. Waiting for integration test.
This commit is contained in:
parent
96e013021c
commit
dd2484477c
|
|
@ -1,8 +1,13 @@
|
|||
package com.a.eye.skywalking.web.client.routing;
|
||||
|
||||
import com.a.eye.skywalking.network.grpc.QueryTask;
|
||||
import com.a.eye.skywalking.network.grpc.SearchResult;
|
||||
import com.a.eye.skywalking.network.grpc.TraceId;
|
||||
import com.a.eye.skywalking.network.grpc.client.TraceSearchClient;
|
||||
import com.a.eye.skywalking.web.dto.TraceNodeInfo;
|
||||
import com.a.eye.skywalking.web.dto.TraceNodesResult;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
/**
|
||||
|
|
@ -13,15 +18,31 @@ public class SearchClient {
|
|||
|
||||
public SearchClient() {
|
||||
TraceSearchClient[] allSearchClients = RoutingServerWatcher.getAllSearchClient();
|
||||
|
||||
if ((allSearchClients.length == 0)) {
|
||||
throw new RuntimeException("no active routing servers");
|
||||
}
|
||||
client = allSearchClients[ThreadLocalRandom.current().nextInt(0, allSearchClients.length)];
|
||||
}
|
||||
|
||||
public TraceNodesResult searchSpan(String traceId){
|
||||
String[] traceIdSegments = traceId.split(".");
|
||||
TraceNodesResult traceNodesResult = new TraceNodesResult();
|
||||
if(traceIdSegments.length != 6){
|
||||
return new TraceNodesResult();
|
||||
return traceNodesResult;
|
||||
}
|
||||
return new TraceNodesResult();
|
||||
|
||||
TraceId.Builder builder = TraceId.newBuilder();
|
||||
for (String traceIdSegment : traceIdSegments) {
|
||||
builder.addSegments(Long.parseLong(traceIdSegment));
|
||||
}
|
||||
|
||||
QueryTask.Builder queryTaskBuilder = QueryTask.newBuilder().setTraceId(builder.build());
|
||||
SearchResult result = client.search(queryTaskBuilder.build());
|
||||
|
||||
List<TraceNodeInfo> traceNodes = traceNodesResult.getResult();
|
||||
result.getSpansList().forEach((span -> {
|
||||
traceNodes.add(new TraceNodeInfo((span)));
|
||||
}));
|
||||
return traceNodesResult;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue