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