<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>可视化观测 on Apache Dubbo</title><link>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/</link><description>Recent content in 可视化观测 on Apache Dubbo</description><generator>Hugo</generator><language>zh-cn</language><atom:link href="https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/index.xml" rel="self" type="application/rss+xml"/><item><title>配置和管理框架日志</title><link>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/logger/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/logger/</guid><description>&lt;p>本示例演示如何配置 dubbo-go 框架日志组件，将框架运行态日志保存到指定的位置。可在此查看 &lt;a href="https://github.com/apache/dubbo-go-samples/tree/main/logger/level" target="_blank">完整示例源码地址&lt;/a>。&lt;/p>


&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">注意&lt;/h4>

 这里配置的只是 dubbo-go 框架自身的日志组件行为，即框架内部使用的日志，不影响业务日志框架的使用！

&lt;/div>

&lt;h2 id="1-日志配置">1. 日志配置&lt;/h2>
&lt;p>如下所示，可以通过 &lt;code>log.WithZap()&lt;/code>、&lt;code>log.WithLevel(&amp;quot;warn&amp;quot;)&lt;/code> 设置 dubbo 框架日志行为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>ins, err &lt;span style="color:#719e07">:=&lt;/span> dubbo.&lt;span style="color:#268bd2">NewInstance&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	dubbo.&lt;span style="color:#268bd2">WithLogger&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		log.&lt;span style="color:#268bd2">WithLevel&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;warn&amp;#34;&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		log.&lt;span style="color:#268bd2">WithZap&lt;/span>(),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="2-应用共享日志组件">2. 应用共享日志组件&lt;/h2>
&lt;p>注意，这里配置的只是 dubbo-go 框架自身的日志组件行为（即框架内部使用的日志），不影响业务日志框架的使用！&lt;/p>
&lt;p>&lt;strong>通过以下方式，业务应用也可以选择复用这个日志组件：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">import&lt;/span> app_logger &lt;span style="color:#2aa198">&amp;#34;github.com/dubbogo/gost/log/logger&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>app_logger.&lt;span style="color:#268bd2">Info&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;hello&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>日志 Interface&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">type&lt;/span> Logger &lt;span style="color:#268bd2">interface&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Info&lt;/span>(args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Warn&lt;/span>(args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Error&lt;/span>(args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Debug&lt;/span>(args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Fatal&lt;/span>(args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Infof&lt;/span>(fmt &lt;span style="color:#dc322f">string&lt;/span>, args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Warnf&lt;/span>(fmt &lt;span style="color:#dc322f">string&lt;/span>, args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Errorf&lt;/span>(fmt &lt;span style="color:#dc322f">string&lt;/span>, args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Debugf&lt;/span>(fmt &lt;span style="color:#dc322f">string&lt;/span>, args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#268bd2">Fatalf&lt;/span>(fmt &lt;span style="color:#dc322f">string&lt;/span>, args &lt;span style="color:#719e07">...&lt;/span>&lt;span style="color:#268bd2">interface&lt;/span>{})
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>

&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">注意&lt;/h4>

 日志API不可以在Init 阶段使用，否则可能会发生意料之外的问题。

&lt;/div>

&lt;h2 id="2-完全自定义日志">2. 完全自定义日志&lt;/h2>
&lt;p>当前 dubbo-go 框架支持 zap、logrus 两个日志框架，如果您想让 dubbo 框架内核使用其他日志框架打印日志，推荐以标准扩展形式增加支持，具体可参考核心库中内置的 &lt;a href="https://github.com/apache/dubbo-go/tree/main/logger">源码实现&lt;/a>。&lt;/p></description></item><item><title>指标监控 (Metrics)</title><link>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/rpc_metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/rpc_metrics/</guid><description>&lt;h1 id="dubbo-go-指标监控">Dubbo-Go 指标监控&lt;/h1>
&lt;p>Dubbo-Go 可以采集 RPC、元数据、注册中心、配置中心等运行态指标，并通过 Prometheus 与 Grafana 构建可观测性看板。本文以 &lt;a href="https://github.com/apache/dubbo-go-samples/tree/main/observability/prometheus_grafana" target="_blank">dubbo-go-samples/observability/prometheus_grafana&lt;/a> 为例，说明 Pull 与 Pushgateway 两种运行方式。&lt;/p>
&lt;blockquote>
&lt;p>说明：部分旧文档或任务描述可能仍写作 &lt;code>metrics/prometheus_grafana&lt;/code>，当前 sample 仓库中的实际目录是 &lt;code>observability/prometheus_grafana&lt;/code>。&lt;/p>
&lt;/blockquote>
&lt;h2 id="1-工作模式">1. 工作模式&lt;/h2>
&lt;h3 id="11-pull-模式">1.1 Pull 模式&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>Dubbo-Go 应用暴露 /prometheus 或 /metrics
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Prometheus 定时拉取
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Grafana 查询 Prometheus 并展示大盘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Pull 模式是 Prometheus 的标准模式，适合长期运行的 Dubbo-Go Provider 与 Consumer。当前 sample 中：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">应用&lt;/th>
 &lt;th style="text-align: left">指标地址&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">go-server&lt;/td>
 &lt;td style="text-align: left">&lt;code>http://localhost:9099/prometheus&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">go-client&lt;/td>
 &lt;td style="text-align: left">&lt;code>http://localhost:9097/prometheus&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Dubbo-Go 默认指标地址是 &lt;code>http://localhost:9090/metrics&lt;/code>。sample 通过 &lt;code>metrics.WithPort(9099)&lt;/code>、&lt;code>metrics.WithPort(9097)&lt;/code> 和 &lt;code>metrics.WithPath(&amp;quot;/prometheus&amp;quot;)&lt;/code> 改成了上面的端口与路径。&lt;/p>
&lt;h3 id="12-pushgateway-模式">1.2 Pushgateway 模式&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>Dubbo-Go 应用推送指标
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Pushgateway 暂存指标
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Prometheus 拉取 Pushgateway
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> v
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Grafana 查询 Prometheus 并展示大盘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Pushgateway 更适合 batch、cron job 等短生命周期任务。长期运行的服务优先使用 Pull 模式；如果必须使用 Pushgateway，请配合清理机制，避免停止后的旧指标继续留在 Pushgateway 中。&lt;/p></description></item><item><title>Kubernetes 生命周期探针</title><link>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/probe/</guid><description>&lt;h1 id="dubbo-go-kubernetes-生命周期探针">Dubbo-Go Kubernetes 生命周期探针&lt;/h1>
&lt;p>Dubbo-Go 提供内置的 &lt;strong>Kubernetes HTTP Probe 服务&lt;/strong>，用于支持：&lt;/p>
&lt;ul>
&lt;li>✅ &lt;code>liveness&lt;/code>&lt;/li>
&lt;li>✅ &lt;code>readiness&lt;/code>&lt;/li>
&lt;li>✅ &lt;code>startup&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>该模块通过独立 HTTP 端口暴露探针接口，并支持：&lt;/p>
&lt;ul>
&lt;li>自定义健康检查逻辑&lt;/li>
&lt;li>可选内部生命周期对齐&lt;/li>
&lt;li>可控的重启风险&lt;/li>
&lt;/ul>
&lt;p>以下是一个具体的使用示例，可查看 &lt;a href="https://github.com/apache/dubbo-go-samples/tree/main/observability/probe">示例完整源码&lt;/a>。&lt;/p>
&lt;hr>
&lt;h1 id="一设计目标">一、设计目标&lt;/h1>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">目标&lt;/th>
 &lt;th style="text-align: left">说明&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">可扩展&lt;/td>
 &lt;td style="text-align: left">支持注册自定义检查回调&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">可控风险&lt;/td>
 &lt;td style="text-align: left">liveness 默认不绑定内部复杂逻辑&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">生命周期对齐&lt;/td>
 &lt;td style="text-align: left">readiness / startup 可对齐 Dubbo 生命周期&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">独立端口&lt;/td>
 &lt;td style="text-align: left">与业务端口隔离&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h1 id="二默认行为">二、默认行为&lt;/h1>
&lt;p>启用 Probe 后，默认在：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>端口: 22222
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>暴露以下路径：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">Endpoint&lt;/th>
 &lt;th style="text-align: left">说明&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">GET /live&lt;/td>
 &lt;td style="text-align: left">进程存活检查&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">GET /ready&lt;/td>
 &lt;td style="text-align: left">服务就绪检查&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">GET /startup&lt;/td>
 &lt;td style="text-align: left">启动阶段检查&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="响应规则">响应规则&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">条件&lt;/th>
 &lt;th style="text-align: left">HTTP 状态码&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">所有检查通过&lt;/td>
 &lt;td style="text-align: left">200&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">任意检查失败&lt;/td>
 &lt;td style="text-align: left">503&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h1 id="三配置方式">三、配置方式&lt;/h1>
&lt;p>Dubbo-Go 支持 &lt;strong>New API（推荐）&lt;/strong> 与 &lt;strong>配置文件方式（YAML）&lt;/strong> 两种配置方式。&lt;/p></description></item><item><title>链路追踪</title><link>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3229--dubbo.netlify.app/zh-cn/overview/mannual/golang-sdk/tutorial/observability/tracing/</guid><description>&lt;p>Dubbo-go 支持基于 &lt;a href="https://opentelemetry.io/">OpenTelemetry&lt;/a> 标准的全链路追踪埋点，同时支持通过以下 exporter 导出到不同的 tracing 后端系统。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://opentelemetry.io/docs/specs/otel/logs/sdk_exporters/stdout/">Stdout exporter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://opentelemetry.io/docs/languages/js/exporters/#jaeger">Jaeger exporter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://opentelemetry.io/docs/languages/js/exporters/#zipkin">Zipkin exporter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://opentelemetry.io/docs/languages/js/exporters/#use-otlp-exporter-with-httpjson-or-httpprotobuf">OTLP-HTTP exporter&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/">OTLP-gRPC exporter&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="使用方式">使用方式&lt;/h2>
&lt;p>请注意，仅支持通过 &lt;code>dubbo.NewInstance&lt;/code> 方式创建 dubbo 应用时开启 tracing 功能，也就是我们快速开始中提到的&lt;code>微服务应用模式&lt;/code>，对于&lt;code>轻量 RPC API&lt;/code>暂时不支持开启 tracing。&lt;/p>
&lt;h2 id="示例详解">示例详解&lt;/h2>
&lt;p>可在此查看&lt;a href="https://github.com/apache/dubbo-go-samples/tree/main/otel/tracing">完整示例源码&lt;/a>。&lt;/p>
&lt;p>使用 &lt;code>dubbo.WithTracing()&lt;/code> 开启 tracing，可以通过多个参数控制 tracing 行为：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">package&lt;/span> main
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">import&lt;/span> (
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;dubbo.apache.org/dubbo-go/v3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> _ &lt;span style="color:#2aa198">&amp;#34;dubbo.apache.org/dubbo-go/v3/imports&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;dubbo.apache.org/dubbo-go/v3/otel/trace&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">func&lt;/span> &lt;span style="color:#268bd2">main&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> instance, err &lt;span style="color:#719e07">:=&lt;/span> dubbo.&lt;span style="color:#268bd2">NewInstance&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> dubbo.&lt;span style="color:#268bd2">WithTracing&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#586e75">// add tracing options here
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> trace.&lt;span style="color:#268bd2">WithEnabled&lt;/span>(), &lt;span style="color:#586e75">// enable tracing feature
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> trace.&lt;span style="color:#268bd2">WithStdoutExporter&lt;/span>(),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> trace.&lt;span style="color:#268bd2">WithW3cPropagator&lt;/span>(),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> trace.&lt;span style="color:#268bd2">WithAlwaysMode&lt;/span>(),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> trace.&lt;span style="color:#268bd2">WithRatioMode&lt;/span>(), &lt;span style="color:#586e75">// use ratio mode
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> trace.&lt;span style="color:#268bd2">WithRatio&lt;/span>(&lt;span style="color:#2aa198">0.5&lt;/span>), &lt;span style="color:#586e75">// sample ratio, only active when use ratio mode
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> ),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> )
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果你在 &lt;code>dubbo.WithTracing()&lt;/code> 调用中不指定任何 option 参数，则会使用默认行为：&lt;/p></description></item></channel></rss>