You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by gi...@apache.org on 2026/09/03 07:56:45 UTC
(dubbo-website) branch cn-site updated: deploy: 84b35ebdab20a54da2c740aa8428a375ff43b481
This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch cn-site
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/cn-site by this push:
new e1b172d521a deploy: 84b35ebdab20a54da2c740aa8428a375ff43b481
e1b172d521a is described below
commit e1b172d521a8e7eb4a7a52105519fbb320bcaeb3
Author: Alanxtl <Al...@users.noreply.github.com>
AuthorDate: Thu Sep 3 07:56:38 2026 +0000
deploy: 84b35ebdab20a54da2c740aa8428a375ff43b481
---
css/app.css | 2 +-
css/chunk-vendors.css | 2 +-
en/index.xml | 18 ++--
.../golang-sdk/tutorial/observability/index.xml | 18 ++--
.../tutorial/observability/tracing/index.html | 119 +++++++++++++++++----
en/sitemap.xml | 2 +-
js/app.js | 3 +-
js/chunk-vendors.js | 67 +-----------
sitemap.xml | 2 +-
zh-cn/index.xml | 55 +++++-----
.../golang-sdk/tutorial/observability/index.xml | 55 +++++-----
.../tutorial/observability/tracing/index.html | 119 +++++++++++++++++----
zh-cn/sitemap.xml | 2 +-
13 files changed, 281 insertions(+), 183 deletions(-)
diff --git a/css/app.css b/css/app.css
index 44c2a2c2469..b9457c8de14 100644
--- a/css/app.css
+++ b/css/app.css
@@ -1 +1 @@
-h3[data-v-76eccb7f]{margin:40px 0 0}ul[data-v-76eccb7f]{list-style-type:none;padding:0}li[data-v-76eccb7f]{display:inline-block;margin:0 10px}a[data-v-76eccb7f]{color:#42b983}.form-layout[data-v-76eccb7f]{display:flex;justify-content:space-between;align-items:flex-start}.left-form[data-v-76eccb7f]{flex:1;max-width:calc(50% - 20px);margin-right:20px}.right-text[data-v-76eccb7f]{flex-shrink:0;width:calc(50% - 20px)}.left-form .el-form-item__label[data-v-76eccb7f]{text-align:left}.left-form [...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build time*/
\ No newline at end of file
diff --git a/css/chunk-vendors.css b/css/chunk-vendors.css
index 61c66238ea8..b9457c8de14 100644
--- a/css/chunk-vendors.css
+++ b/css/chunk-vendors.css
@@ -1 +1 @@
-@font-face{font-family:element-icons;src:url(../fonts/element-icons.ff18efd1.woff) format("woff"),url(../fonts/element-icons.f1a45d74.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:gr [...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build time*/
\ No newline at end of file
diff --git a/en/index.xml b/en/index.xml
index e51446fa252..ab5183c82f3 100644
--- a/en/index.xml
+++ b/en/index.xml
@@ -3213,18 +3213,16 @@ For example:</p></description></item><item><title>Dubbo SPI Plugins and De
<h2 id="prerequisites">Prerequisites</h2>
<p>The Dubbo community provides tools and solutions to simplify the packaging and deployment process in the entire Kubernetes environment. Therefore, we need to install the relevant tools before we begin.</p></description></item><item><title>Dubbo Protocol</title><link>https://cn.dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/protocol/dubbo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/en/overview/mannual/java-sdk/r [...]
-<p>Echo testing is used to detect whether a service is available. The echo test follows the normal request process, allowing the entire call to be tested for smooth operation and can be used for monitoring. In an echo test, the client sends a request containing a specific value (such as a string). The server should respond with the same value to verify that the request has been successfully received and processed. If the response does not match the request, it indicates that the se [...]
+<p>Echo testing is used to detect whether a service is available. The echo test follows the normal request process, allowing the entire call to be tested for smooth operation and can be used for monitoring. In an echo test, the client sends a request containing a specific value (such as a string). The server should respond with the same value to verify that the request has been successfully received and processed. If the response does not match the request, it indicates that the se [...]
+<p>The following exporters are supported:</p>
<ul>
-<li><a href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/">Stdout exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger">Jaeger exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#zipkin">Zipkin exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#use-otlp-exporter-with-httpjson-or-httpprotobuf">OTLP-HTTP exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/">OTLP-gRPC exporter</a></li>
+<li><code>stdout</code>: Prints spans to the process standard output as JSON; suitable for local development and debugging.</li>
+<li><code>jaeger</code>: Exports spans to <a href="https://www.jaegertracing.io/">Jaeger</a>.</li>
+<li><code>zipkin</code>: Exports spans to <a href="https://zipkin.io/">Zipkin</a>.</li>
+<li><code>otlp-http</code>: Exports spans to OpenTelemetry Collector or other backends over OTLP/HTTP.</li>
+<li><code>otlp-grpc</code>: Exports spans to OpenTelemetry Collector or other backends over OTLP/gRPC.</li>
</ul>
-<h2 id="usage">Usage</h2>
-<p>Please note that tracing functionality is only enabled when creating the Dubbo application via <code>dubbo.NewInstance</code>, which is the <code>microservice application mode</code> mentioned in our quick start. The <code>lightweight RPC API</code> does not currently support enabling tracing.</p>
-<h2 id="example-explanation">Example Explanation</h2>
-<p>You can view the full example source code <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">here</a>.</p></description></item><item><title>Exception Type Return Values</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/rpc/error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/rpc/error/</guid><description><h2 id="1-introd [...]
+<p>Runnable examples for the stdout, jaeger, and otlp-http exporters are available under <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">dubbo-go-samples/otel/tracing</a>. The sections below explain how to run each of them.</p></description></item><item><title>Exception Type Return Values</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/rpc/error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><g [...]
<p>This document demonstrates how to handle error type responses during RPC calls. You can view the <a href="https://github.com/apache/dubbo-go-samples/tree/main/error" target="_blank">complete example source code here</a>.</p>
<h2 id="2-example-details">2. Example Details</h2>
<h3 id="21-server">2.1 Server</h3>
diff --git a/en/overview/mannual/golang-sdk/tutorial/observability/index.xml b/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
index dbbadfbf60d..dcc78169e18 100644
--- a/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
+++ b/en/overview/mannual/golang-sdk/tutorial/observability/index.xml
@@ -23,18 +23,16 @@
</span></span><span style="display:flex;"><span> |
</span></span><span style="display:flex;"><span> v
</span></span><span style="display:flex;"><span>Grafana queries Prometheus and renders dashboards
-</span></span></code></pre></div><p>Pull mode is the standard Prometheus model and is recommended for long-running Dubbo-Go providers and consumers. In this sample:</p></description></item><item><title>Link Tracing</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/o [...]
+</span></span></code></pre></div><p>Pull mode is the standard Prometheus model and is recommended for long-running Dubbo-Go providers and consumers. In this sample:</p></description></item><item><title>Link Tracing</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/o [...]
+<p>The following exporters are supported:</p>
<ul>
-<li><a href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/">Stdout exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger">Jaeger exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#zipkin">Zipkin exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#use-otlp-exporter-with-httpjson-or-httpprotobuf">OTLP-HTTP exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/">OTLP-gRPC exporter</a></li>
+<li><code>stdout</code>: Prints spans to the process standard output as JSON; suitable for local development and debugging.</li>
+<li><code>jaeger</code>: Exports spans to <a href="https://www.jaegertracing.io/">Jaeger</a>.</li>
+<li><code>zipkin</code>: Exports spans to <a href="https://zipkin.io/">Zipkin</a>.</li>
+<li><code>otlp-http</code>: Exports spans to OpenTelemetry Collector or other backends over OTLP/HTTP.</li>
+<li><code>otlp-grpc</code>: Exports spans to OpenTelemetry Collector or other backends over OTLP/gRPC.</li>
</ul>
-<h2 id="usage">Usage</h2>
-<p>Please note that tracing functionality is only enabled when creating the Dubbo application via <code>dubbo.NewInstance</code>, which is the <code>microservice application mode</code> mentioned in our quick start. The <code>lightweight RPC API</code> does not currently support enabling tracing.</p>
-<h2 id="example-explanation">Example Explanation</h2>
-<p>You can view the full example source code <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">here</a>.</p></description></item><item><title>Kubernetes Lifecycle Probe</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/</guid><description>& [...]
+<p>Runnable examples for the stdout, jaeger, and otlp-http exporters are available under <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">dubbo-go-samples/otel/tracing</a>. The sections below explain how to run each of them.</p></description></item><item><title>Kubernetes Lifecycle Probe</title><link>https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/probe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pu [...]
<p>Dubbo-Go provides a built-in <strong>Kubernetes HTTP Probe service</strong> that supports:</p>
<ul>
<li>✅ <code>liveness</code></li>
diff --git a/en/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html b/en/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
index 9a2b6c5ddab..68df6d59f64 100644
--- a/en/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
+++ b/en/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/><link rel=canonical href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/><script>var _paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apa [...]
+<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/><link rel=canonical href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/><script>var _paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apa [...]
<a class=dropdown-item href=/en/overview/notices/>Security Notices</a>
<a class=dropdown-item href=/en/contact/>Contributor's Guide</a></div></li><li class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link href=/en/blog/><span>Blog</span></a></li><li class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link href=/en/download/><span>DOWNLOAD</span></a></li><li class="nav-item dropdown d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>ECOSYSTEM</ [...]
<a class=dropdown-item href=/zh-cn/overview/mannual/control-plane/>Visualizable Console</a>
@@ -693,39 +693,118 @@
<label for=m-enoverviewnoticesprotocol-check><a href=/en/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-enoverviewnoticesprotocol><span>RPC Protocol Security</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-enoverviewnoticesregistry-li><input type=checkbox id=m-enoverviewnoticesregistry-check>
<label for=m-enoverviewnoticesregistry-check><a href=/en/overview/notices/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-enoverviewnoticesregistry><span>Registry Center Security</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-enoverviewnoticesadmin-li><input type=checkbox id=m-enoverviewnoticesadmin-check>
<label for=m-enoverviewnoticesadmin-check><a href=/en/overview/notices/admin/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-enoverviewnoticesadmin><span>Dubbo Admin Security</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-enoverviewnoticeslog4j-li><input type=checkbox id=m-enoverviewnoticeslog4j-check>
-<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability Impact</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a [...]
+<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability Impact</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#719e07>import</span> (
-</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3"</span>
-</span></span><span style=display:flex><span> _ <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/imports"</span>
-</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/otel/trace"</span>
+</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3"</span>
+</span></span><span style=display:flex><span> _ <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/imports"</span>
+</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/otel/trace"</span>
</span></span><span style=display:flex><span>)
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#268bd2>func</span> <span style=color:#268bd2>main</span>() {
-</span></span><span style=display:flex><span> instance, err <span style=color:#719e07>:=</span> dubbo.<span style=color:#268bd2>NewInstance</span>(
-</span></span><span style=display:flex><span> dubbo.<span style=color:#268bd2>WithTracing</span>(
-</span></span><span style=display:flex><span> <span style=color:#586e75>// add tracing options here</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// enable tracing feature</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithRatioMode</span>(), <span style=color:#586e75>// use ratio mode</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithRatio</span>(<span style=color:#2aa198>0.5</span>), <span style=color:#586e75>// sample ratio, only active when using ratio mode</span>
-</span></span><span style=display:flex><span> ),
-</span></span><span style=display:flex><span> )
+</span></span><span style=display:flex><span> ins, err <span style=color:#719e07>:=</span> dubbo.<span style=color:#268bd2>NewInstance</span>(
+</span></span><span style=display:flex><span> dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// enable tracing</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(), <span style=color:#586e75>// use the stdout exporter</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(), <span style=color:#586e75>// use W3C trace context propagation</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(), <span style=color:#586e75>// sample all requests for local verification</span>
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span> )
+</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> err <span style=color:#719e07>!=</span> <span style=color:#cb4b16>nil</span> {
+</span></span><span style=display:flex><span> <span style=color:#b58900>panic</span>(err)
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> _ = ins
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>If you do not specify any option parameters in the <code>dubbo.WithTracing()</code> call, the default behavior will be used:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#586e75># default tracing config</span>
+</span></span></code></pre></div><p>If no options are passed to <code>dubbo.WithTracing()</code>, the default configuration below is used:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#586e75># default tracing config</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>enable</span>: <span style=color:#cb4b16>false</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>exporter</span>: stdout
</span></span><span style=display:flex><span><span style=color:#268bd2>endpoint</span>: <span style=color:#2aa198>""</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>propagator</span>: w3c
</span></span><span style=display:flex><span><span style=color:#268bd2>sample-mode</span>: ratio
</span></span><span style=display:flex><span><span style=color:#268bd2>sample-ratio</span>: <span style=color:#2aa198>0.5</span>
-</span></span></code></pre></div><h2 id=tracingoptions-explained>TracingOptions Explained</h2><ul><li>enable: enable tracing or not<ul><li><code>trace.WithEnabled()</code> means enable tracing</li></ul></li><li>exporter: tracing exporter backends, support stdout, jaeger, zipkin, otlp-http, otlp-grpc<ul><li><code>trace.WithStdoutExporter()</code></li><li><code>trace.WithJaegerExporter()</code></li><li><code>trace.WithZipkinExporter()</code></li><li><code>trace.WithOtlpHttpExporter()</code [...]
-<button class="btn btn-primary mb-4 feedback--no">No</button></div><script>const yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disable [...]
+</span></span><span style=display:flex><span><span style=color:#268bd2>insecure</span>: <span style=color:#cb4b16>false</span>
+</span></span></code></pre></div><p>Note that <code>enable</code> defaults to <code>false</code>. You must call <code>trace.WithEnabled()</code> (or set <code>tracing.enable: true</code> in YAML) to actually turn tracing on.</p><h2 id=common-dubbowithtracing-options>Common dubbo.WithTracing options</h2><ul><li><code>enable</code>: whether tracing is enabled; defaults to <code>false</code>.<ul><li><code>trace.WithEnabled()</code> enables tracing.</li></ul></li><li><code>exporter</code>: t [...]
+</span></span></code></pre></div><p>Example layout:</p><ul><li><code>go-server/cmd/main.go</code>: the server, which listens on port 20000 over the Triple protocol.</li><li><code>go-client/cmd/main.go</code>: the client, which connects directly to <code>127.0.0.1:20000</code> and calls <code>Greet</code> once.</li><li>The example uses direct connection, so no registry is needed.</li></ul><h3 id=configure-the-stdout-exporter>Configure the stdout exporter</h3><p>Both the server and the cli [...]
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// enable tracing</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(), <span style=color:#586e75>// use the stdout exporter</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(), <span style=color:#586e75>// W3C trace context propagation</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(), <span style=color:#586e75>// sample all requests</span>
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p><code>WithAlwaysMode</code> samples every request so a span is produced each time. With the default ratio mode (0.5), only about half of the requests are sampled.</p><h3 id=run-and-verify>Run and verify</h3><p>Start the server in the first terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run . [...]
+</span></span></code></pre></div><p>Start the client in the second terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>After a successful call, the client prints a log similar to <code>Greet response: hello world</code>. The server console then shows the exporter startup logs and the span JSON:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-text data-lang=text><span style=display:flex><span>INFO tracing/tracing.go:53 tracing enabled, exporter: stdout
+</span></span><span style=display:flex><span>INFO tracing/tracing.go:54 tracing enabled, sampler: always_on
+</span></span></code></pre></div><p>The span is printed as JSON with the following key fields:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Name"</span>: <span style=color:#2aa198>"Greet"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanContext"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"TraceID"</span>: <span style=color:#2aa198>"dee1fcd3eafbcb73338aa719a9d4d4ad"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanID"</span>: <span style=color:#2aa198>"23a21f8330154882"</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Parent"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"TraceID"</span>: <span style=color:#2aa198>"00000000000000000000000000000000"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanID"</span>: <span style=color:#2aa198>"0000000000000000"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Remote"</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"StartTime"</span>: <span style=color:#2aa198>"2024-01-24T09:31:51.7352636+08:00"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"EndTime"</span>: <span style=color:#2aa198>"2024-01-24T09:31:51.7352636+08:00"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Attributes"</span>: [
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.system"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"apache_dubbo"</span> }
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.service"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"greet.GreetService"</span> }
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.method"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"Greet"</span> }
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> ],
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Status"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Code"</span>: <span style=color:#2aa198>"Ok"</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Resource"</span>: [
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"service.name"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"dubbo_otel_tracing_server"</span> }
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> ]
+</span></span><span style=display:flex><span>}
+</span></span></code></pre></div><p>Every client invocation produces a similar span on the server. See the <a href=https://github.com/apache/dubbo-go-samples/blob/main/otel/tracing/stdout/README.md>stdout example README</a> for the complete output.</p><h2 id=running-the-jaeger-exporter>Running the Jaeger exporter</h2><h3 id=start-jaeger>Start Jaeger</h3><p>The example starts Jaeger all-in-one with Docker:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b3 [...]
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -e <span style=color:#268bd2>COLLECTOR_OTLP_ENABLED</span><span style=color:#719e07>=</span><span style=color:#b58900>true</span> <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 16686:16686 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 14268:14268 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 4317:4317 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 4318:4318 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> jaegertracing/all-in-one:latest
+</span></span></code></pre></div><p><code>16686</code> is the Jaeger UI port and <code>14268</code> is the Jaeger collector HTTP port used by the example exporter.</p><h3 id=get-and-run-the-example>Get and run the example</h3><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#b58900>cd</span> dubbo-go-samples/otel/tracing/jaeger
+</span></span></code></pre></div><p>Start the server in the first terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-server/cmd/main.go
+</span></span></code></pre></div><p>Start the client in the second terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>The exporter-related configuration in the example is:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-go data-lang=go><span style=display:flex><span>dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithJaegerExporter</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEndpoint</span>(<span style=color:#2aa198>"http://localhost:14268/api/traces"</span>),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>If Jaeger runs on another host or uses a different port, update the address in <code>WithEndpoint</code> accordingly.</p><h3 id=view-the-trace-results>View the trace results</h3><p>Open <code>http://localhost:16686</code> in a browser:</p><ol><li>Select <code>dubbo_otel_jaeger_server</code> or <code>dubbo_otel_jaeger_client</code> from the Service dropdown.</li><li>Click Find Traces.</li><li>Click a trace to inspect the client and server span timeline. [...]
+</span></span></code></pre></div><p>Start the server in the first terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-server/cmd/main.go
+</span></span></code></pre></div><p>Start the client in the second terminal:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>The client calls the server over triple (port 20000), dubbo (port 20001), and jsonrpc (port 20002). When all six spans (three client spans plus three server spans) are exported successfully, the server prints:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-text data-lang=text><span style=display:flex><span>server count: 3, client count: 3
+</span></span></code></pre></div><p>The example panics on timeout or on a span-count mismatch.</p><p>The exporter-related configuration in the example is:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-go data-lang=go><span style=display:flex><span>dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithOtlpHttpExporter</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEndpoint</span>(<span style=color:#2aa198>"127.0.0.1:4318"</span>),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithInsecure</span>(), <span style=color:#586e75>// the mock receiver uses plain HTTP</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>In a real environment, point <code>endpoint</code> at an OpenTelemetry Collector or an OTLP-compatible backend, for example <code>collector.example.com:4318</code>. Keep <code>WithInsecure</code> when reporting over plain HTTP, and remove it when the backend uses TLS.</p><h2 id=how-to-view-trace-results>How to view trace results</h2><ul><li><strong>stdout exporter</strong>: Spans are printed as JSON on the application standard output. Inspect <code>Tra [...]
+<button class="btn btn-primary mb-4 feedback--no">No</button></div><script>const yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disable [...]
<a href="https://github.com/apache/dubbo-website/new/master/content/en//overview/mannual/golang-sdk/tutorial/observability/tracing?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edi [...]
<a href="https://github.com/apache/dubbo-website/issues/new?title=Link%20Tracing" target=_blank><i class="fab fa-github fa-fw"></i> Create an issue</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> Create project issue</a></div><nav id=TableOfContents><ul><li><a href=#usage>Usage</a></li><li><a href=#example-explanation>Example Explanation</a></li><li><a href=#tracingoptions-explained>TracingOptions Explained</a></li></ul></nav></div></div></div></div><footer><div class=footer-container><div class=footer-container-left><div class=footer-container-left-title>Follow us</div><div class= [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> Create project issue</a></div><nav id=TableOfContents><ul><li><a href=#usage>Usage</a></li><li><a href=#common-dubbowithtracing-options>Common dubbo.WithTracing options</a></li><li><a href=#running-the-stdout-exporter>Running the stdout exporter</a><ul><li><a href=#get-the-example>Get the example</a></li><li><a href=#configure-the-stdout-exporter>Configure the stdout exporter</a></li><li>< [...]
<button class="contact-btn qr-container" onmouseover='showQRCode("dingding-qr")' onmouseout='hideQRCode("dingding-qr")'>DINGTALK CHANNEL<div class=qr-code id=dingding-qr style=display:none><img src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div class=footer-container-right><ul><li>DOCUMENTATION</li><li><a href=/en/overview/>Overview</a></li><li><a href=/en/overview/quickstart/>Quick Start</a></li><li><a href=/en/contact/contributor/software-donation-guide_dev/>Developer guide</a></li></ul><ul><li>RESOURCES</li><li><a href=/en/contact/>Community</a></li></ul></div></div><div style="width:85.125rem;height:0;border:1px solid #ddd [...]
project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States
diff --git a/en/sitemap.xml b/en/sitemap.xml
index 9804b999596..cd7de29f843 100644
--- a/en/sitemap.xml
+++ b/en/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/en/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link rel="alternate" hreflang="zh-cn" href="https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/en/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link rel="alternate" hreflang="zh-cn" href="https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7 [...]
\ No newline at end of file
diff --git a/js/app.js b/js/app.js
index b61d7a00c45..069248774b1 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,2 +1 @@
-(function(){"use strict";var t={5030:function(t,e,r){var n=r(2057),o=function(){var t=this,e=t._self._c;return e("div",{attrs:{id:"app"}},[e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"30px"}},[t._v("Dubbo 基准测试")])])],1),e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"15px","text-align":"right"}},[e("a",{attrs:{target:"_blank",href:"https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about- [...]
-//# sourceMappingURL=app.166a7e04.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build time
\ No newline at end of file
diff --git a/js/chunk-vendors.js b/js/chunk-vendors.js
index 86cd3657f32..069248774b1 100644
--- a/js/chunk-vendors.js
+++ b/js/chunk-vendors.js
@@ -1,66 +1 @@
-(self["webpackChunkdubbo_benchmark"]=self["webpackChunkdubbo_benchmark"]||[]).push([[504],{1656:function(e,t,n){"use strict";function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&& [...]
-/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright JS Foundation and other contributors <https://js.foundation/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */(function(){var o,a="4.17.10",s=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,f=2,g=4,v=1,m=2,y=1,b=2,_=4,x=8,w=16,S=32,C=64,k=128,M=256,T=512,D=30,I="...",O=800,A=16,E=1,P=2,L=3,N=1/0,R=9007199254740991,$=17976931348623157e292,z=NaN,V=4294967295,F=V-1,B=V>>>1,j=[["ary",k],["bind",y],["bindKey",b],["curry",x],["curryRight",w],["flip",T],["partial",S],["partialRight",C], [...]
-/**
- * @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version {{version}}
- * @license
- * Copyright (c) 2016 Federico Zivolo and contributors
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */(function(o,a){i=a,r="function"===typeof i?i.call(t,n,t,e):i,void 0===r||(e.exports=r)})(0,function(){var e=window,t={placement:"bottom",gpuAcceleration:!0,offset:0,boundariesElement:"viewport",boundariesPadding:5,preventOverflowOrder:["left","right","top","bottom"],flipBehavior:"flip",arrowElement:"[x-arrow]",arrowOffset:0,modifiers:["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],modifiersIgnored:[],forceAbsolute:!1};function n(e,n,i){this._reference=e [...]
-/*!
- * jQuery JavaScript Library v3.7.1
- * https://jquery.com/
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2023-08-28T13:37Z
- */
-function(t,n){"use strict";"object"===typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!==typeof window?window:this,function(n,o){"use strict";var a=[],s=Object.getPrototypeOf,l=a.slice,u=a.flat?function(e){return a.flat.call(e)}:function(e){return a.concat.apply([],e)},c=a.push,h=a.indexOf,d={},p=d.toString,f=d.hasOwnProperty,g=f.toString,v=g.call(Object),m={},y=function(e){ [...]
-/**
- * Checks if an event is supported in the current execution environment.
- *
- * NOTE: This will not work correctly for non-generic events such as `change`,
- * `reset`, `load`, `error`, and `select`.
- *
- * Borrows from Modernizr.
- *
- * @param {string} eventNameSuffix Event name, e.g. "click".
- * @param {?boolean} capture Check if the capture phase is supported.
- * @return {boolean} True if the event is supported.
- * @internal
- * @license Modernizr 3.0.0pre (Custom Build) | MIT
- */
-function o(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var a=document.createElement("div");a.setAttribute(n,"return;"),o="function"===typeof a[n]}return!o&&i&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=o},9030:function(e,t,n){"use strict";var i=n(8656),r=n(2021),o= [...]
-/*!
- * Vue.js v2.7.16
- * (c) 2014-2023 Evan You
- * Released under the MIT License.
- */
-var Q=Object.freeze({}),J=Array.isArray;function ee(e){return void 0===e||null===e}function te(e){return void 0!==e&&null!==e}function ne(e){return!0===e}function ie(e){return!1===e}function re(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function oe(e){return"function"===typeof e}function ae(e){return null!==e&&"object"===typeof e}var se=Object.prototype.toString;function le(e){return"[object Object]"===se.call(e)}function ue(e){return"[ob [...]
-//# sourceMappingURL=chunk-vendors.9c8dca06.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build time
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 8801f183154..30d82ced0f0 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-09-02T22:57:37+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-24T21:00:49+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-09-03T15:49:14+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-09-03T15:49:14+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/index.xml b/zh-cn/index.xml
index d645224904b..ba59b5fe292 100644
--- a/zh-cn/index.xml
+++ b/zh-cn/index.xml
@@ -16318,41 +16318,46 @@ ServiceConfig.export() 或者 ReferenceConfig.get() 先自动启动module,然
</span></span><span style="display:flex;"><span> <span style="color:#719e07">rpc</span> GreetTimeout(GreetRequest) <span style="color:#719e07">returns</span> (GreetResponse) {}
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><h4 id="服务端handler文件">服务端handler文件</h4>
-<p><code>Greet</code>方法直接响应,<code>GreetRetry</code>方法用于模拟重试。</p></description></item><item><title>链路追踪</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description><p>Dubbo-go 支持基于 <a href="https://opentelemetry.io/">OpenTe [...]
+<p><code>Greet</code>方法直接响应,<code>GreetRetry</code>方法用于模拟重试。</p></description></item><item><title>链路追踪</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description><p>Dubbo-go 基于 <a href="https://opentelemetry.io/">OpenTele [...]
+<p>当前支持的 exporter 包括:</p>
<ul>
-<li><a href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/">Stdout exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger">Jaeger exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#zipkin">Zipkin exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#use-otlp-exporter-with-httpjson-or-httpprotobuf">OTLP-HTTP exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/">OTLP-gRPC exporter</a></li>
+<li><code>stdout</code>:以 JSON 形式把 Span 打印到进程标准输出,适合本地开发与调试。</li>
+<li><code>jaeger</code>:上报到 <a href="https://www.jaegertracing.io/">Jaeger</a>。</li>
+<li><code>zipkin</code>:上报到 <a href="https://zipkin.io/">Zipkin</a>。</li>
+<li><code>otlp-http</code>:通过 OTLP/HTTP 上报到 OpenTelemetry Collector 等后端。</li>
+<li><code>otlp-grpc</code>:通过 OTLP/gRPC 上报到 OpenTelemetry Collector 等后端。</li>
</ul>
+<p>其中 stdout、jaeger、otlp-http 在 <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">dubbo-go-samples/otel/tracing</a> 下有可直接运行的示例,下文分别介绍其运行方式。</p>
<h2 id="使用方式">使用方式</h2>
-<p>请注意,仅支持通过 <code>dubbo.NewInstance</code> 方式创建 dubbo 应用时开启 tracing 功能,也就是我们快速开始中提到的<code>微服务应用模式</code>,对于<code>轻量 RPC API</code>暂时不支持开启 tracing。</p>
-<h2 id="示例详解">示例详解</h2>
-<p>可在此查看<a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">完整示例源码</a>。</p>
-<p>使用 <code>dubbo.WithTracing()</code> 开启 tracing,可以通过多个参数控制 tracing 行为:</p>
+<ul>
+<li>目前仅支持通过 <code>dubbo.NewInstance</code> 创建 dubbo 应用(即快速开始中介绍的微服务应用模式)时开启 tracing;轻量 RPC API 暂不支持。</li>
+<li>使用 tracing 前需要导入 <code>dubbo.apache.org/dubbo-go/v3/imports</code> 空包,用于注册各 exporter 的实现。</li>
+<li>通过 <code>dubbo.WithTracing(...)</code> 配置 tracing,内部使用 <code>trace.WithXXX</code> 子选项控制 exporter、endpoint、传播器和采样策略。</li>
+</ul>
+<p>下面是一段最简配置:</p>
<div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span><span style="color:#719e07">package</span> main
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#719e07">import</span> (
-</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3&#34;</span>
-</span></span><span style="display:flex;"><span> _ <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/imports&#34;</span>
-</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/otel/trace&#34;</span>
+</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3&#34;</span>
+</span></span><span style="display:flex;"><span> _ <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/imports&#34;</span>
+</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/otel/trace&#34;</span>
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#268bd2">func</span> <span style="color:#268bd2">main</span>() {
-</span></span><span style="display:flex;"><span> instance, err <span style="color:#719e07">:=</span> dubbo.<span style="color:#268bd2">NewInstance</span>(
-</span></span><span style="display:flex;"><span> dubbo.<span style="color:#268bd2">WithTracing</span>(
-</span></span><span style="display:flex;"><span> <span style="color:#586e75">// add tracing options here</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithEnabled</span>(), <span style="color:#586e75">// enable tracing feature</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithStdoutExporter</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithW3cPropagator</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithAlwaysMode</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithRatioMode</span>(), <span style="color:#586e75">// use ratio mode</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithRatio</span>(<span style="color:#2aa198">0.5</span>), <span style="color:#586e75">// sample ratio, only active when use ratio mode</span>
-</span></span><span style="display:flex;"><span> ),
-</span></span><span style="display:flex;"><span> )
+</span></span><span style="display:flex;"><span> ins, err <span style="color:#719e07">:=</span> dubbo.<span style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span> dubbo.<span style="color:#268bd2">WithTracing</span>(
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithEnabled</span>(), <span style="color:#586e75">// 开启 tracing</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithStdoutExporter</span>(), <span style="color:#586e75">// 使用 stdout exporter</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithW3cPropagator</span>(), <span style="color:#586e75">// 使用 W3C trace context 传播</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithAlwaysMode</span>(), <span style="color:#586e75">// 全量采样,便于本地验证</span>
+</span></span><span style="display:flex;"><span> ),
+</span></span><span style="display:flex;"><span> )
+</span></span><span style="display:flex;"><span> <span style="color:#719e07">if</span> err <span style="color:#719e07">!=</span> <span style="color:#cb4b16">nil</span> {
+</span></span><span style="display:flex;"><span> <span style="color:#b58900">panic</span>(err)
+</span></span><span style="display:flex;"><span> }
+</span></span><span style="display:flex;"><span> _ = ins
</span></span><span style="display:flex;"><span>}
-</span></span></code></pre></div><p>如果你在 <code>dubbo.WithTracing()</code> 调用中不指定任何 option 参数,则会使用默认行为:</p></description></item><item><title>日志管理</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</guid><description><h2 id="支持的日志框架"&g [...]
+</span></span></code></pre></div><p><code>dubbo.WithTracing()</code> 不传任何参数时,使用默认配置:</p></description></item><item><title>日志管理</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</guid><description><h2 id="支持的日志框架">支持的日志框架</h2>
<p>Dubbo 支持以下日志框架,用户可根据业务应用实际使用的日志框架进行配置。</p>
<table>
<thead>
diff --git a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
index b9d1134cbab..2913b36e5ba 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml
@@ -182,38 +182,43 @@
</table>
<hr>
<h1 id="三配置方式">三、配置方式</h1>
-<p>Dubbo-Go 支持 <strong>New API(推荐)</strong> 与 <strong>配置文件方式(YAML)</strong> 两种配置方式。</p></description></item><item><title>链路追踪</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description><p>Dubbo-go 支持基于 <a href="https://opent [...]
+<p>Dubbo-Go 支持 <strong>New API(推荐)</strong> 与 <strong>配置文件方式(YAML)</strong> 两种配置方式。</p></description></item><item><title>链路追踪</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description><p>Dubbo-go 基于 <a href="https://opentel [...]
+<p>当前支持的 exporter 包括:</p>
<ul>
-<li><a href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/">Stdout exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger">Jaeger exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#zipkin">Zipkin exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/js/exporters/#use-otlp-exporter-with-httpjson-or-httpprotobuf">OTLP-HTTP exporter</a></li>
-<li><a href="https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/">OTLP-gRPC exporter</a></li>
+<li><code>stdout</code>:以 JSON 形式把 Span 打印到进程标准输出,适合本地开发与调试。</li>
+<li><code>jaeger</code>:上报到 <a href="https://www.jaegertracing.io/">Jaeger</a>。</li>
+<li><code>zipkin</code>:上报到 <a href="https://zipkin.io/">Zipkin</a>。</li>
+<li><code>otlp-http</code>:通过 OTLP/HTTP 上报到 OpenTelemetry Collector 等后端。</li>
+<li><code>otlp-grpc</code>:通过 OTLP/gRPC 上报到 OpenTelemetry Collector 等后端。</li>
</ul>
+<p>其中 stdout、jaeger、otlp-http 在 <a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">dubbo-go-samples/otel/tracing</a> 下有可直接运行的示例,下文分别介绍其运行方式。</p>
<h2 id="使用方式">使用方式</h2>
-<p>请注意,仅支持通过 <code>dubbo.NewInstance</code> 方式创建 dubbo 应用时开启 tracing 功能,也就是我们快速开始中提到的<code>微服务应用模式</code>,对于<code>轻量 RPC API</code>暂时不支持开启 tracing。</p>
-<h2 id="示例详解">示例详解</h2>
-<p>可在此查看<a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">完整示例源码</a>。</p>
-<p>使用 <code>dubbo.WithTracing()</code> 开启 tracing,可以通过多个参数控制 tracing 行为:</p>
+<ul>
+<li>目前仅支持通过 <code>dubbo.NewInstance</code> 创建 dubbo 应用(即快速开始中介绍的微服务应用模式)时开启 tracing;轻量 RPC API 暂不支持。</li>
+<li>使用 tracing 前需要导入 <code>dubbo.apache.org/dubbo-go/v3/imports</code> 空包,用于注册各 exporter 的实现。</li>
+<li>通过 <code>dubbo.WithTracing(...)</code> 配置 tracing,内部使用 <code>trace.WithXXX</code> 子选项控制 exporter、endpoint、传播器和采样策略。</li>
+</ul>
+<p>下面是一段最简配置:</p>
<div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go" data-lang="go"><span style="display:flex;"><span><span style="color:#719e07">package</span> main
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#719e07">import</span> (
-</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3&#34;</span>
-</span></span><span style="display:flex;"><span> _ <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/imports&#34;</span>
-</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/otel/trace&#34;</span>
+</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3&#34;</span>
+</span></span><span style="display:flex;"><span> _ <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/imports&#34;</span>
+</span></span><span style="display:flex;"><span> <span style="color:#2aa198">&#34;dubbo.apache.org/dubbo-go/v3/otel/trace&#34;</span>
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#268bd2">func</span> <span style="color:#268bd2">main</span>() {
-</span></span><span style="display:flex;"><span> instance, err <span style="color:#719e07">:=</span> dubbo.<span style="color:#268bd2">NewInstance</span>(
-</span></span><span style="display:flex;"><span> dubbo.<span style="color:#268bd2">WithTracing</span>(
-</span></span><span style="display:flex;"><span> <span style="color:#586e75">// add tracing options here</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithEnabled</span>(), <span style="color:#586e75">// enable tracing feature</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithStdoutExporter</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithW3cPropagator</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithAlwaysMode</span>(),
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithRatioMode</span>(), <span style="color:#586e75">// use ratio mode</span>
-</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithRatio</span>(<span style="color:#2aa198">0.5</span>), <span style="color:#586e75">// sample ratio, only active when use ratio mode</span>
-</span></span><span style="display:flex;"><span> ),
-</span></span><span style="display:flex;"><span> )
+</span></span><span style="display:flex;"><span> ins, err <span style="color:#719e07">:=</span> dubbo.<span style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span> dubbo.<span style="color:#268bd2">WithTracing</span>(
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithEnabled</span>(), <span style="color:#586e75">// 开启 tracing</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithStdoutExporter</span>(), <span style="color:#586e75">// 使用 stdout exporter</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithW3cPropagator</span>(), <span style="color:#586e75">// 使用 W3C trace context 传播</span>
+</span></span><span style="display:flex;"><span> trace.<span style="color:#268bd2">WithAlwaysMode</span>(), <span style="color:#586e75">// 全量采样,便于本地验证</span>
+</span></span><span style="display:flex;"><span> ),
+</span></span><span style="display:flex;"><span> )
+</span></span><span style="display:flex;"><span> <span style="color:#719e07">if</span> err <span style="color:#719e07">!=</span> <span style="color:#cb4b16">nil</span> {
+</span></span><span style="display:flex;"><span> <span style="color:#b58900">panic</span>(err)
+</span></span><span style="display:flex;"><span> }
+</span></span><span style="display:flex;"><span> _ = ins
</span></span><span style="display:flex;"><span>}
-</span></span></code></pre></div><p>如果你在 <code>dubbo.WithTracing()</code> 调用中不指定任何 option 参数,则会使用默认行为:</p></description></item></channel></rss>
\ No newline at end of file
+</span></span></code></pre></div><p><code>dubbo.WithTracing()</code> 不传任何参数时,使用默认配置:</p></description></item></channel></rss>
\ No newline at end of file
diff --git a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
index 931f74d8a01..2a38758758b 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=alternate hreflang=en href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/><script>var _paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apa [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=alternate hreflang=en href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/observability/tracing/><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/><script>var _paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apa [...]
<a class=dropdown-item href=/zh-cn/overview/notices/>安全公告</a>
<a class=dropdown-item href=/zh-cn/contact/>贡献者指南</a></div></li><li class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/blog/><span>博客</span></a></li><li class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/download/><span>下载</span></a></li><li class="nav-item dropdown d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>生态</a><div class="dropdo [...]
<a class=dropdown-item href=/zh-cn/overview/mannual/control-plane/>可视化控制台</a>
@@ -688,39 +688,118 @@
<label for=m-zh-cnoverviewnoticesprotocol-check><a href=/zh-cn/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewnoticesprotocol><span>RPC 协议安全</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewnoticesregistry-li><input type=checkbox id=m-zh-cnoverviewnoticesregistry-check>
<label for=m-zh-cnoverviewnoticesregistry-check><a href=/zh-cn/overview/notices/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewnoticesregistry><span>注册中心安全</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewnoticesadmin-li><input type=checkbox id=m-zh-cnoverviewnoticesadmin-check>
<label for=m-zh-cnoverviewnoticesadmin-check><a href=/zh-cn/overview/notices/admin/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewnoticesadmin><span>Dubbo Admin 安全</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewnoticeslog4j-li><input type=checkbox id=m-zh-cnoverviewnoticeslog4j-check>
-<label for=m-zh-cnoverviewnoticeslog4j-check><a href=/zh-cn/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewnoticeslog4j><span>Log4j 漏洞影响</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove [...]
+<label for=m-zh-cnoverviewnoticeslog4j-check><a href=/zh-cn/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewnoticeslog4j><span>Log4j 漏洞影响</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#719e07>import</span> (
-</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3"</span>
-</span></span><span style=display:flex><span> _ <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/imports"</span>
-</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/otel/trace"</span>
+</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3"</span>
+</span></span><span style=display:flex><span> _ <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/imports"</span>
+</span></span><span style=display:flex><span> <span style=color:#2aa198>"dubbo.apache.org/dubbo-go/v3/otel/trace"</span>
</span></span><span style=display:flex><span>)
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#268bd2>func</span> <span style=color:#268bd2>main</span>() {
-</span></span><span style=display:flex><span> instance, err <span style=color:#719e07>:=</span> dubbo.<span style=color:#268bd2>NewInstance</span>(
-</span></span><span style=display:flex><span> dubbo.<span style=color:#268bd2>WithTracing</span>(
-</span></span><span style=display:flex><span> <span style=color:#586e75>// add tracing options here</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// enable tracing feature</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithRatioMode</span>(), <span style=color:#586e75>// use ratio mode</span>
-</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithRatio</span>(<span style=color:#2aa198>0.5</span>), <span style=color:#586e75>// sample ratio, only active when use ratio mode</span>
-</span></span><span style=display:flex><span> ),
-</span></span><span style=display:flex><span> )
+</span></span><span style=display:flex><span> ins, err <span style=color:#719e07>:=</span> dubbo.<span style=color:#268bd2>NewInstance</span>(
+</span></span><span style=display:flex><span> dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// 开启 tracing</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(), <span style=color:#586e75>// 使用 stdout exporter</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(), <span style=color:#586e75>// 使用 W3C trace context 传播</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(), <span style=color:#586e75>// 全量采样,便于本地验证</span>
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span> )
+</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> err <span style=color:#719e07>!=</span> <span style=color:#cb4b16>nil</span> {
+</span></span><span style=display:flex><span> <span style=color:#b58900>panic</span>(err)
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> _ = ins
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>如果你在 <code>dubbo.WithTracing()</code> 调用中不指定任何 option 参数,则会使用默认行为:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#586e75># default tracing config</span>
+</span></span></code></pre></div><p><code>dubbo.WithTracing()</code> 不传任何参数时,使用默认配置:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#586e75># default tracing config</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>enable</span>: <span style=color:#cb4b16>false</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>exporter</span>: stdout
</span></span><span style=display:flex><span><span style=color:#268bd2>endpoint</span>: <span style=color:#2aa198>""</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>propagator</span>: w3c
</span></span><span style=display:flex><span><span style=color:#268bd2>sample-mode</span>: ratio
</span></span><span style=display:flex><span><span style=color:#268bd2>sample-ratio</span>: <span style=color:#2aa198>0.5</span>
-</span></span></code></pre></div><h2 id=tracingoptions详解>TracingOptions详解</h2><ul><li>enable: enable tracing or not<ul><li><code>trace.WithEnabled()</code> means enable tracing</li></ul></li><li>exporter: tracing exporter backends, support stdout, jaeger, zipkin, otlp-http, otlp-grpc<ul><li><code>trace.WithStdoutExporter()</code></li><li><code>trace.WithJaegerExporter()</code></li><li><code>trace.WithZipkinExporter()</code></li><li><code>trace.WithOtlpHttpExporter()</code></li><li><code> [...]
-<button class="btn btn-primary mb-4 feedback--no">否</button></div><script>const yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled [...]
+</span></span><span style=display:flex><span><span style=color:#268bd2>insecure</span>: <span style=color:#cb4b16>false</span>
+</span></span></code></pre></div><p>注意默认 <code>enable: false</code>,必须通过 <code>trace.WithEnabled()</code>(或 YAML 配置 <code>tracing.enable: true</code>)真正开启功能。</p><h2 id=dubbowithtracing-常用参数>dubbo.WithTracing 常用参数</h2><ul><li><code>enable</code>:是否开启 tracing,默认 <code>false</code>。<ul><li><code>trace.WithEnabled()</code>:开启 tracing。</li></ul></li><li><code>exporter</code>:Span exporter 类型,支持 <code>stdout</code>、<code>jaeger</code>、<code>zipkin</code>、<code>otlp-http</code>、<code>otlp-grpc< [...]
+</span></span></code></pre></div><p>示例目录说明:</p><ul><li><code>go-server/cmd/main.go</code>:服务端,Triple 协议监听 20000 端口。</li><li><code>go-client/cmd/main.go</code>:客户端,直连 <code>127.0.0.1:20000</code> 并调用一次 <code>Greet</code>。</li><li>示例使用直连方式,运行前不需要启动注册中心。</li></ul><h3 id=配置-stdout-exporter>配置 stdout exporter</h3><p>服务端与客户端均在 <code>dubbo.NewInstance</code> 中配置 stdout exporter:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;ta [...]
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(), <span style=color:#586e75>// 开启 tracing</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithStdoutExporter</span>(), <span style=color:#586e75>// 使用 stdout exporter</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(), <span style=color:#586e75>// W3C trace context 传播</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(), <span style=color:#586e75>// 全量采样</span>
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>这里使用 <code>WithAlwaysMode</code> 全量采样,保证每次调用都能产生 Span;如果使用默认的 ratio 模式(0.5),大约只有一半请求会被采样。</p><h3 id=启动并验证>启动并验证</h3><p>在第一个终端启动服务端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-server/cmd/main.go
+</span></span></code></pre></div><p>在第二个终端启动客户端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>客户端调用成功后,终端会输出类似 <code>Greet response: hello world</code> 的日志。随后在服务端控制台可以看到 exporter 启动日志和本次调用的 Span JSON:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-text data-lang=text><span style=display:flex><span>INFO tracing/tracing.go:53 tracing enabled, exporter: stdout
+</span></span><span style=display:flex><span>INFO tracing/tracing.go:54 tracing enabled, sampler: always_on
+</span></span></code></pre></div><p>Span 以 JSON 形式打印,关键字段如下:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Name"</span>: <span style=color:#2aa198>"Greet"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanContext"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"TraceID"</span>: <span style=color:#2aa198>"dee1fcd3eafbcb73338aa719a9d4d4ad"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanID"</span>: <span style=color:#2aa198>"23a21f8330154882"</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Parent"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"TraceID"</span>: <span style=color:#2aa198>"00000000000000000000000000000000"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"SpanID"</span>: <span style=color:#2aa198>"0000000000000000"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Remote"</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"StartTime"</span>: <span style=color:#2aa198>"2024-01-24T09:31:51.7352636+08:00"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"EndTime"</span>: <span style=color:#2aa198>"2024-01-24T09:31:51.7352636+08:00"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Attributes"</span>: [
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.system"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"apache_dubbo"</span> }
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.service"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"greet.GreetService"</span> }
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"rpc.method"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"Greet"</span> }
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> ],
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Status"</span>: {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Code"</span>: <span style=color:#2aa198>"Ok"</span>
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Resource"</span>: [
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Key"</span>: <span style=color:#2aa198>"service.name"</span>,
+</span></span><span style=display:flex><span> <span style=color:#268bd2>"Value"</span>: { <span style=color:#268bd2>"Type"</span>: <span style=color:#2aa198>"STRING"</span>, <span style=color:#268bd2>"Value"</span>: <span style=color:#2aa198>"dubbo_otel_tracing_server"</span> }
+</span></span><span style=display:flex><span> }
+</span></span><span style=display:flex><span> ]
+</span></span><span style=display:flex><span>}
+</span></span></code></pre></div><p>每次客户端调用都会在服务端输出一段类似的 Span。完整输出示例可参考 <a href=https://github.com/apache/dubbo-go-samples/blob/main/otel/tracing/stdout/README_zh.md>stdout 示例 README</a>。</p><h2 id=jaeger-exporter-运行方式>Jaeger exporter 运行方式</h2><h3 id=启动-jaeger>启动 Jaeger</h3><p>示例使用 Docker 启动 Jaeger all-in-one:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=d [...]
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -e <span style=color:#268bd2>COLLECTOR_OTLP_ENABLED</span><span style=color:#719e07>=</span><span style=color:#b58900>true</span> <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 16686:16686 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 14268:14268 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 4317:4317 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> -p 4318:4318 <span style=color:#cb4b16>\
+</span></span></span><span style=display:flex><span><span style=color:#cb4b16></span> jaegertracing/all-in-one:latest
+</span></span></code></pre></div><p>其中 <code>16686</code> 是 Jaeger UI 端口,<code>14268</code> 是 Jaeger collector HTTP 端口(示例 exporter 使用该端口上报)。</p><h3 id=获取并运行示例>获取并运行示例</h3><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#b58900>cd</span> dubbo-go-samples/otel/tracing/jaeger
+</span></span></code></pre></div><p>第一个终端启动服务端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-server/cmd/main.go
+</span></span></code></pre></div><p>第二个终端启动客户端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>示例中 exporter 相关配置如下:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-go data-lang=go><span style=display:flex><span>dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithJaegerExporter</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEndpoint</span>(<span style=color:#2aa198>"http://localhost:14268/api/traces"</span>),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>如果 Jaeger 不在本机或修改了端口,需要同步修改 <code>WithEndpoint</code> 中的地址。</p><h3 id=查看-trace-结果>查看 trace 结果</h3><p>打开浏览器访问 <code>http://localhost:16686</code>:</p><ol><li>在 Service 下拉框中选择 <code>dubbo_otel_jaeger_server</code> 或 <code>dubbo_otel_jaeger_client</code>。</li><li>点击 Find Traces。</li><li>点击某条 trace 即可查看客户端、服务端的 Span 时间线。</li></ol><p>客户端示例在调用结束后会调用 <code>TracerProvider.Shutdown</code>,确保 Span 在进程退出前被刷新到 Jaeger。</p><h2 id=otlp-http-exporter-运行方式>OTLP HTTP ex [...]
+</span></span></code></pre></div><p>第一个终端启动服务端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-server/cmd/main.go
+</span></span></code></pre></div><p>第二个终端启动客户端:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>go run ./go-client/cmd/main.go
+</span></span></code></pre></div><p>客户端会分别通过 triple(20000 端口)、dubbo(20001 端口)和 jsonrpc(20002 端口)调用服务端。如果 6 个 Span(3 个客户端 Span + 3 个服务端 Span)都成功上报,服务端终端会输出:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-text data-lang=text><span style=display:flex><span>server count: 3, client count: 3
+</span></span></code></pre></div><p>如果超时或数量不匹配,示例会直接 panic。</p><p>示例中 exporter 相关配置如下:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-go data-lang=go><span style=display:flex><span>dubbo.<span style=color:#268bd2>WithTracing</span>(
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEnabled</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithOtlpHttpExporter</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithEndpoint</span>(<span style=color:#2aa198>"127.0.0.1:4318"</span>),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithInsecure</span>(), <span style=color:#586e75>// mock receiver 使用纯 HTTP</span>
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithW3cPropagator</span>(),
+</span></span><span style=display:flex><span> trace.<span style=color:#268bd2>WithAlwaysMode</span>(),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>在真实环境中,把 endpoint 改为 OpenTelemetry Collector 或兼容 OTLP 的观测后端即可,例如 <code>collector.example.com:4318</code>。纯 HTTP 上报时保留 <code>WithInsecure</code>;如果后端启用了 TLS,则去掉该选项。</p><h2 id=如何查看-trace-结果>如何查看 trace 结果</h2><ul><li><strong>stdout exporter</strong>:Span 以 JSON 打印在应用标准输出中。关注 <code>TraceID</code>、<code>SpanID</code>、<code>Parent</code> 和 <code>Attributes</code>,其中 <code>Attributes</code> 会携带 <code>rpc.system</code>、<code>rpc.service</code>、<code>rpc.method [...]
+<button class="btn btn-primary mb-4 feedback--no">否</button></div><script>const yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled [...]
<a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn//overview/mannual/golang-sdk/tutorial/observability/tracing?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+ [...]
<a href="https://github.com/apache/dubbo-website/issues/new?title=%e9%93%be%e8%b7%af%e8%bf%bd%e8%b8%aa" target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a href=#使用方式>使用方式</a></li><li><a href=#示例详解>示例详解</a></li><li><a href=#tracingoptions详解>TracingOptions详解</a></li></ul></nav></div></div></div></div><footer><div class=footer-container><div class=footer-container-left><div class=footer-container-left-title>关注我们</div><div class=footer-container-left-des>请通过以下任一或多个渠道关注社区动态,与社区开发者保持密切沟通。</div><di [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a href=#使用方式>使用方式</a></li><li><a href=#dubbowithtracing-常用参数>dubbo.WithTracing 常用参数</a></li><li><a href=#stdout-exporter-运行方式>Stdout exporter 运行方式</a><ul><li><a href=#获取示例>获取示例</a></li><li><a href=#配置-stdout-exporter>配置 stdout exporter</a></li><li><a href=#启动并验证>启动并验证</a></li></ul></li><li><a href=#jaeger-exporter-运行方式>Jaeger exporter 运行方式</ [...]
<button class="contact-btn qr-container" onmouseover='showQRCode("dingding-qr")' onmouseout='hideQRCode("dingding-qr")'>钉钉<div class=qr-code id=dingding-qr style=display:none><img src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div class=footer-container-right><ul><li>文档</li><li><a href=/zh-cn/overview/home/>概览</a></li><li><a href=/zh-cn/overview/quickstart/>快速开始</a></li><li><a href=/zh-cn/contact/contributor/software-donation-guide_dev/>开发者指南</a></li></ul><ul><li>资源</li><li><a href=/zh-cn/contact/>社区</a></li></ul></div></div><div style="width:85.125rem;height:0;border:1px solid #dddee4;margin-bottom:32px"></div>< [...]
project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index c4411475bd3..ffc3152bce0 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link rel="alternate" hreflang="en" href="https://cn.dubbo [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link rel="alternate" hreflang="en" href="https://cn.dubbo [...]
\ No newline at end of file