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

wankai pushed a commit to branch sw-traceql
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit c3333f05d4fe6fbb5ac430555cfa6748871cbefd
Author: wankai123 <[email protected]>
AuthorDate: Thu Mar 26 10:31:51 2026 +0800

    add head
---
 .../traceql/handler/SkyWalkingTraceQLApiHandler.java   | 11 +++++++----
 .../oap/query/traceql/handler/TraceQLApiHandler.java   |  3 ++-
 .../query/traceql/handler/ZipkinTraceQLApiHandler.java |  9 +++++----
 .../oap/query/zipkin/ZipkinQueryService.java           | 18 ++++++++++++++++++
 4 files changed, 32 insertions(+), 9 deletions(-)

diff --git 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/SkyWalkingTraceQLApiHandler.java
 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/SkyWalkingTraceQLApiHandler.java
index 26cf06ad36..95dc78e5fa 100644
--- 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/SkyWalkingTraceQLApiHandler.java
+++ 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/SkyWalkingTraceQLApiHandler.java
@@ -30,6 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.commons.codec.DecoderException;
 import org.apache.skywalking.oap.query.traceql.TraceQLConfig;
 import org.apache.skywalking.oap.query.traceql.converter.OTLPConverter;
@@ -43,6 +44,7 @@ import 
org.apache.skywalking.oap.query.traceql.exception.IllegalExpressionExcept
 import org.apache.skywalking.oap.query.traceql.rt.TraceQLParseResult;
 import org.apache.skywalking.oap.query.traceql.rt.TraceQLQueryParams;
 import org.apache.skywalking.oap.query.traceql.rt.TraceQLQueryParser;
+import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.CoreModule;
 import org.apache.skywalking.oap.server.core.analysis.IDManager;
 import org.apache.skywalking.oap.server.core.analysis.Layer;
@@ -84,9 +86,9 @@ public class SkyWalkingTraceQLApiHandler extends 
TraceQLApiHandler {
                                                  .provider()
                                                  
.getService(MetadataQueryService.class);
         this.traceQLConfig = config;
-        this.allowedTags = new HashSet<>(Arrays.asList(
-            config.getSkywalkingTracesListResultTags().split(",")
-        ));
+        this.allowedTags = 
Arrays.stream(config.getSkywalkingTracesListResultTags().trim().split(Const.COMMA))
+                                 .map(String::trim)
+                                 .collect(Collectors.toSet());
         // Add fixed tags
         this.allowedTags.add(SPAN_KIND);
         this.allowedTags.add(SERVICE_NAME);
@@ -262,6 +264,7 @@ public class SkyWalkingTraceQLApiHandler extends 
TraceQLApiHandler {
         // Handle special tags: resource.service.name or resource.service
         if (tagName.equals(RESOURCE_SERVICE_NAME) || 
tagName.equals(RESOURCE_SERVICE)) {
             // Query service names from MetadataQueryService with 
Layer.GENERAL filter
+            // The MESH trace could use zipkin reciver and query
             List<org.apache.skywalking.oap.server.core.query.type.Service> 
services =
                 metadataQueryService.listServices(Layer.GENERAL.name(), null);
 
@@ -352,7 +355,7 @@ public class SkyWalkingTraceQLApiHandler extends 
TraceQLApiHandler {
      * Convert Protobuf TraceByIDResponse to JSON and build HTTP response.
      */
     private HttpResponse buildJsonHttpResponseFromProtobuf(TraceByIDResponse 
protoResponse) throws JsonProcessingException {
-        OtlpTraceResponse jsonResponse = 
OTLPConverter.convertProtobufToJson(protoResponse, 
OTLPConverter.TraceType.SkyWalking);
+        OtlpTraceResponse jsonResponse = 
OTLPConverter.convertProtobufToJson(protoResponse, 
OTLPConverter.TraceType.SKYWALKING);
         return successResponse(jsonResponse);
     }
 
diff --git 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/TraceQLApiHandler.java
 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/TraceQLApiHandler.java
index 1887e283e3..3b3a3d075f 100644
--- 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/TraceQLApiHandler.java
+++ 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/TraceQLApiHandler.java
@@ -128,7 +128,8 @@ public abstract class TraceQLApiHandler {
      * Query trace by trace ID.
      * GET /api/v2/traces/{traceId}
      *
-     * @param traceId The trace ID
+     * @param traceId The trace ID, for SkyWalking native traces, the original 
traceId have to encode to the UTF-8
+     *                you can get the encoded traceId from traces list query 
API `/api/search`.
      * @param accept Accept header for response format
      * @return Trace data in OTLP format
      */
diff --git 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/ZipkinTraceQLApiHandler.java
 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/ZipkinTraceQLApiHandler.java
index 857731b18f..8e547c5c85 100644
--- 
a/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/ZipkinTraceQLApiHandler.java
+++ 
b/oap-server/server-query-plugin/traceql-plugin/src/main/java/org/apache/skywalking/oap/query/traceql/handler/ZipkinTraceQLApiHandler.java
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.commons.codec.DecoderException;
 import org.apache.skywalking.oap.query.traceql.TraceQLConfig;
 import org.apache.skywalking.oap.query.traceql.converter.OTLPConverter;
@@ -71,9 +72,9 @@ public class ZipkinTraceQLApiHandler extends 
TraceQLApiHandler {
                                                         
.getService(TagAutoCompleteQueryService.class);
         this.zipkinQueryService = new ZipkinQueryService(moduleManager);
         this.traceQLConfig = config;
-        this.allowedTags = new HashSet<>(Arrays.asList(
-            config.getZipkinTracesListResultTags().split(Const.COMMA)
-        ));
+        this.allowedTags = 
Arrays.stream(config.getZipkinTracesListResultTags().trim().split(Const.COMMA))
+                                 .map(String::trim)
+                                 .collect(Collectors.toSet());
         // Add fixed tags
         this.allowedTags.add(SPAN_KIND);
         this.allowedTags.add(SERVICE_NAME);
@@ -306,7 +307,7 @@ public class ZipkinTraceQLApiHandler extends 
TraceQLApiHandler {
      */
     private HttpResponse buildJsonHttpResponseFromProtobuf(TraceByIDResponse 
protoResponse) throws
         JsonProcessingException {
-        OtlpTraceResponse jsonResponse = 
OTLPConverter.convertProtobufToJson(protoResponse, 
OTLPConverter.TraceType.Zipkin);
+        OtlpTraceResponse jsonResponse = 
OTLPConverter.convertProtobufToJson(protoResponse, 
OTLPConverter.TraceType.ZIPKIN);
         return successResponse(jsonResponse);
     }
 
diff --git 
a/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryService.java
 
b/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryService.java
index 9feb215473..e93d123581 100644
--- 
a/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryService.java
+++ 
b/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryService.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
 package org.apache.skywalking.oap.query.zipkin;
 
 import com.google.protobuf.InvalidProtocolBufferException;

Reply via email to