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

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


The following commit(s) were added to refs/heads/master by this push:
     new 068ea9517 fix: zipkin trace_id and span_id format in ngx_var (#12403)
068ea9517 is described below

commit 068ea9517b8e8958877bf5b75090b424b5ad6033
Author: Baoyuan <baoyuan....@gmail.com>
AuthorDate: Fri Jul 11 13:51:34 2025 +0800

    fix: zipkin trace_id and span_id format in ngx_var (#12403)
---
 apisix/plugins/zipkin.lua |  4 ++--
 t/plugin/mcp-bridge.t     |  2 +-
 t/plugin/zipkin3.t        | 32 +++++++++++++++++++++++++++++++-
 3 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/apisix/plugins/zipkin.lua b/apisix/plugins/zipkin.lua
index dc814f1bc..285e0a45d 100644
--- a/apisix/plugins/zipkin.lua
+++ b/apisix/plugins/zipkin.lua
@@ -223,8 +223,8 @@ function _M.rewrite(plugin_conf, ctx)
                                              to_hex(span_context.trace_id),
                                              to_hex(span_context.span_id),
                                              
span_context:get_baggage_item("x-b3-sampled"))
-        ngx_var.zipkin_trace_id = span_context.trace_id
-        ngx_var.zipkin_span_id = span_context.span_id
+        ngx_var.zipkin_trace_id = to_hex(span_context.trace_id)
+        ngx_var.zipkin_span_id = to_hex(span_context.span_id)
     end
 
     if not ctx.opentracing_sample then
diff --git a/t/plugin/mcp-bridge.t b/t/plugin/mcp-bridge.t
index 5598fc702..56ae71a26 100644
--- a/t/plugin/mcp-bridge.t
+++ b/t/plugin/mcp-bridge.t
@@ -91,7 +91,7 @@ passed
 
 
 === TEST 3: test mcp client
---- timeout: 15
+--- timeout: 20
 --- exec
 cd t/plugin/mcp && pnpm test 2>&1
 --- no_error_log
diff --git a/t/plugin/zipkin3.t b/t/plugin/zipkin3.t
index 2d743fff0..d4bcd721c 100644
--- a/t/plugin/zipkin3.t
+++ b/t/plugin/zipkin3.t
@@ -55,6 +55,20 @@ _EOC_
             
ngx.log(ngx.ERR,"ngx_var.zipkin_context_traceparent:",ngx.var.zipkin_context_traceparent)
         end
 
+        local trace_id = ngx.var.zipkin_trace_id
+        if trace_id == nil or trace_id == '' then
+           ngx.log(ngx.ERR,"ngx_var.zipkin_trace_id is empty")
+        else
+            ngx.log(ngx.ERR,"ngx_var.zipkin_trace_id:",ngx.var.zipkin_trace_id)
+        end
+
+        local span_id = ngx.var.zipkin_span_id
+        if span_id == nil or span_id == '' then
+           ngx.log(ngx.ERR,"ngx_var.zipkin_span_id is empty")
+        else
+            ngx.log(ngx.ERR,"ngx_var.zipkin_span_id:",ngx.var.zipkin_span_id)
+        end
+
         local orig = orig_func(...)
         return orig
     end
@@ -118,7 +132,23 @@ qr/ngx_var.zipkin_context_traceparent:00-\w{32}-\w{16}-01*/
 
 
 
-=== TEST 3: trigger zipkin with disable set variables
+=== TEST 3: trigger zipkin with open set variables
+--- request
+GET /echo
+--- error_log eval
+qr/ngx_var.zipkin_trace_id:\w{32}/
+
+
+
+=== TEST 4: trigger zipkin with open set variables
+--- request
+GET /echo
+--- error_log eval
+qr/ngx_var.zipkin_span_id:\w{16}/
+
+
+
+=== TEST 5: trigger zipkin with disable set variables
 --- extra_yaml_config
 plugins:
     - zipkin

Reply via email to