blob: 0fa097147bcc28fe42eddf5b47f163ed135dd27f [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 服务状态监控</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/</link><description>Recent content in 服务状态监控 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 查看 RPC 调用的监控信息</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/rpc_metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/rpc_metrics/</guid><description>
&lt;h2 id="1-准备工作">1. 准备工作&lt;/h2>
&lt;ul>
&lt;li>dubbo-go cli 工具和依赖工具已安装&lt;/li>
&lt;li>创建一个新的 demo 应用&lt;/li>
&lt;/ul>
&lt;h2 id="2-修改客户端逻辑重复发起调用">2. 修改客户端逻辑,重复发起调用&lt;/h2>
&lt;p>go-client/cmd/client.go&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">func&lt;/span> &lt;span style="color:#268bd2">main&lt;/span>() {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> config.&lt;span style="color:#268bd2">SetConsumerService&lt;/span>(grpcGreeterImpl)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#719e07">if&lt;/span> err &lt;span style="color:#719e07">:=&lt;/span> config.&lt;span style="color:#268bd2">Load&lt;/span>(); err &lt;span style="color:#719e07">!=&lt;/span> &lt;span style="color:#cb4b16">nil&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#b58900">panic&lt;/span>(err)
&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> logger.&lt;span style="color:#268bd2">Info&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;start to test dubbo&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> req &lt;span style="color:#719e07">:=&lt;/span> &lt;span style="color:#719e07">&amp;amp;&lt;/span>api.HelloRequest{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Name: &lt;span style="color:#2aa198">&amp;#34;laurence&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 style="color:#719e07">for&lt;/span>{ &lt;span style="color:#586e75">// 重复发起调用
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> reply, err &lt;span style="color:#719e07">:=&lt;/span> grpcGreeterImpl.&lt;span style="color:#268bd2">SayHello&lt;/span>(context.&lt;span style="color:#268bd2">Background&lt;/span>(), req)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#719e07">if&lt;/span> err &lt;span style="color:#719e07">!=&lt;/span> &lt;span style="color:#cb4b16">nil&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> logger.&lt;span style="color:#268bd2">Error&lt;/span>(err)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> logger.&lt;span style="color:#268bd2">Infof&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;client response result: %v\n&amp;#34;&lt;/span>, reply)
&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="3-查看请求-rt-信息">3. 查看请求 RT 信息&lt;/h2>
&lt;p>先后启动服务端、客户端服务应用。浏览器查看 localhost:9090/metrics, 搜索 &amp;ldquo;dubbo&amp;rdquo;, 即可查看服务端暴露接口的请求时延,单位 ns。&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>$ curl localhost:9090/metrics | grep dubbo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP dubbo_provider_service_rt
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE dubbo_provider_service_rt gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_provider_service_rt{group=&amp;#34;&amp;#34;,method=&amp;#34;SayHello&amp;#34;,service=&amp;#34;api.Greeter&amp;#34;,timeout=&amp;#34;&amp;#34;,version=&amp;#34;3.0.0&amp;#34;} 41084
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可看到当前最近一次请求 rt 为 41084 ns。&lt;/p></description></item><item><title>Overview: 基于 http metrics 的指标观测</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/http/</guid><description/></item><item><title>Overview: 数据上报 Promethus 教程</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/promethus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/promethus/</guid><description/></item><item><title>Overview: 基于 Grafana 的可视化监控教程</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/grafana/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/grafana/</guid><description/></item><item><title>Overview: Dubbo Go 日志管理</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/logger/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/logger/</guid><description/></item><item><title>Overview: Metrics 数据上报</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/governance/monitor/metrics/</guid><description>
&lt;p>参考Samples: &lt;a href="https://github.com/apache/dubbo-go-samples/tree/master/metrics">dubbo-go-samples/metrics&lt;/a>&lt;/p>
&lt;h2 id="1-数据上报配置">1. 数据上报配置&lt;/h2>
&lt;p>在不指定 metrics: 字段的时候,默认开启拉模式 prometheus 数据上报,端口默认为9090,监听path默认为/metrics。可参考如下服务端配置例子来定制化。&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-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">dubbo&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">application&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">version&lt;/span>: &lt;span style="color:#2aa198">3.0.0&lt;/span>-rc3 &lt;span style="color:#586e75"># 版本号&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">metrics&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">enable&lt;/span>: &lt;span style="color:#cb4b16">true&lt;/span> &lt;span style="color:#586e75"># default is true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">path&lt;/span>: /custom-metrics-path &lt;span style="color:#586e75"># default is /metrics&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">port&lt;/span>: &lt;span style="color:#2aa198">9091&lt;/span> &lt;span style="color:#586e75"># default is 9090&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">namespace&lt;/span>: dubbo &lt;span style="color:#586e75"># default is dubbo 作为数据上报 metrics 的前缀&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">registries&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">myzk&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">protocol&lt;/span>: zookeeper
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">address&lt;/span>: localhost:2181
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">protocols&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">triple&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: tri
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">port&lt;/span>: &lt;span style="color:#2aa198">20000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">provider&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">services&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">GreeterProvider&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">group&lt;/span>: dubbo-go &lt;span style="color:#586e75"># 所属 group,需要与客户端一致&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">interface&lt;/span>: com.apache.dubbo.HelloService &lt;span style="color:#586e75"># 接口名&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="2-默认数据上报指标">2. 默认数据上报指标&lt;/h2>
&lt;p>本地启动上述服务端后,可于 localhost:9091/custom-metrics-path 收集到默认数据指标,包含gc、goroutine数目,内存占用情况等。&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-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_gc_duration_seconds summary&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds{quantile=&amp;#34;0&amp;#34;} 3.0916e-05
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds{quantile=&amp;#34;0.25&amp;#34;} 3.0916e-05
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds{quantile=&amp;#34;0.5&amp;#34;} 3.1167e-05
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds{quantile=&amp;#34;0.75&amp;#34;} 0.000164084
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds{quantile=&amp;#34;1&amp;#34;} 0.000164084
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds_sum 0.000226167
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_gc_duration_seconds_count 3
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_goroutines Number of goroutines that currently exist.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_goroutines gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_goroutines 25
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_info Information about the Go environment.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_info gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_info{version=&amp;#34;go1.17.2&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_alloc_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_alloc_bytes 6.195808e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_alloc_bytes_total counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_alloc_bytes_total 9.482768e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_buck_hash_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_buck_hash_sys_bytes 1.449179e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_frees_total Total number of frees.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_frees_total counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_frees_total 29419
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_gc_cpu_fraction The fraction of this program&amp;#39;s available CPU time used by the GC since the program started.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_gc_cpu_fraction gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_gc_cpu_fraction 0.022937924367975027
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_gc_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_gc_sys_bytes 5.235864e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_alloc_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_alloc_bytes 6.195808e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_idle_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_idle_bytes 3.792896e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_inuse_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_inuse_bytes 8.036352e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_objects Number of allocated objects.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_objects gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_objects 16489
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_released_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_released_bytes 3.416064e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_heap_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_heap_sys_bytes 1.1829248e+07
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_last_gc_time_seconds gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_last_gc_time_seconds 1.635778234064745e+09
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_lookups_total Total number of pointer lookups.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_lookups_total counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_lookups_total 0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_mallocs_total Total number of mallocs.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_mallocs_total counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_mallocs_total 45908
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_mcache_inuse_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_mcache_inuse_bytes 9600
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_mcache_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_mcache_sys_bytes 16384
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_mspan_inuse_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_mspan_inuse_bytes 116144
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_mspan_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_mspan_sys_bytes 131072
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_next_gc_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_next_gc_bytes 7.935184e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_other_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_other_sys_bytes 1.426069e+06
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_stack_inuse_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_stack_inuse_bytes 753664
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_stack_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_stack_sys_bytes 753664
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_memstats_sys_bytes Number of bytes obtained from system.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_memstats_sys_bytes gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_memstats_sys_bytes 2.084148e+07
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP go_threads Number of OS threads created.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE go_threads gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go_threads 12
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="3-调用指标-rt">3. 调用指标 RT&lt;/h2>
&lt;p>启动例子中的客户端,经过几次调用后,会发现增加了对应的数据指标,以默认namespace 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-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_provider_service_rt &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_provider_service_rt gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_provider_service_rt{group=&amp;#34;dubbo-go&amp;#34;,method=&amp;#34;SayHello&amp;#34;,service=&amp;#34;com.apache.dubbo.HelloService&amp;#34;,timeout=&amp;#34;&amp;#34;,version=&amp;#34;3.0.0-rc3&amp;#34;} 127542
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>可看到对应接口名、方法名的请求rt时间。该部分调用指标待后续完善。&lt;/p>
&lt;h2 id="4-手动数据上报">4. 手动数据上报&lt;/h2>
&lt;p>可在业务代码中调用API进行手动数据上报。支持Counter、Summary、Gauge 类型,并支持多个标签。上报后即可收集。&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> &lt;span style="color:#2aa198">&amp;#34;dubbo.apache.org/dubbo-go/v3/metrics/prometheus&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 style="color:#719e07">for&lt;/span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#586e75">// metrics refresh per second
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> time.&lt;span style="color:#268bd2">Sleep&lt;/span>(time.Second)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> prometheus.&lt;span style="color:#268bd2">IncSummary&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_summary&amp;#34;&lt;/span>, rand.&lt;span style="color:#268bd2">Float64&lt;/span>())
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> prometheus.&lt;span style="color:#268bd2">IncSummaryWithLabel&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_summary_with_label&amp;#34;&lt;/span>, rand.&lt;span style="color:#268bd2">Float64&lt;/span>(), &lt;span style="color:#268bd2">map&lt;/span>[&lt;span style="color:#dc322f">string&lt;/span>]&lt;span style="color:#dc322f">string&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;summarylabel1&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value1&amp;#34;&lt;/span>, &lt;span style="color:#586e75">// label and value for this summary
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> &lt;span style="color:#2aa198">&amp;#34;summarylabel2&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value2&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> prometheus.&lt;span style="color:#268bd2">IncCounter&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_counter&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> prometheus.&lt;span style="color:#268bd2">IncCounterWithLabel&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_counter_with_label&amp;#34;&lt;/span>, &lt;span style="color:#268bd2">map&lt;/span>[&lt;span style="color:#dc322f">string&lt;/span>]&lt;span style="color:#dc322f">string&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;counterlabel1&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value1&amp;#34;&lt;/span>, &lt;span style="color:#586e75">// label and value for this counter
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">&lt;/span> &lt;span style="color:#2aa198">&amp;#34;counterlabel2&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value2&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> prometheus.&lt;span style="color:#268bd2">SetGauge&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_gauge&amp;#34;&lt;/span>, rand.&lt;span style="color:#268bd2">Float64&lt;/span>())
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> prometheus.&lt;span style="color:#268bd2">SetGaugeWithLabel&lt;/span>(&lt;span style="color:#2aa198">&amp;#34;test_gauge_with_label&amp;#34;&lt;/span>, rand.&lt;span style="color:#268bd2">Float64&lt;/span>(), &lt;span style="color:#268bd2">map&lt;/span>[&lt;span style="color:#dc322f">string&lt;/span>]&lt;span style="color:#dc322f">string&lt;/span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;gaugelabel1&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#2aa198">&amp;#34;gaugelabel2&amp;#34;&lt;/span>: &lt;span style="color:#2aa198">&amp;#34;value2&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;/code>&lt;/pre>&lt;/div>&lt;p>运行一段时间后,可以收集到如下用户定义指标&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-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_counter &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_counter counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_counter 463
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_counter_with_label &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_counter_with_label counter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_counter_with_label{counterlabel1=&amp;#34;value1&amp;#34;,counterlabel2=&amp;#34;value2&amp;#34;} 463
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_gauge &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_gauge gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_gauge 0.7402836247772934
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_gauge_with_label &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_gauge_with_label gauge&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_gauge_with_label{gaugelabel1=&amp;#34;value1&amp;#34;,gaugelabel2=&amp;#34;value2&amp;#34;} 0.8360973807546456
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_summary &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_summary summary&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_sum 228.1800106582441
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_count 463
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># HELP dubbo_test_summary_with_label &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># TYPE dubbo_test_summary_with_label summary&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.5&amp;#34;} 0.5174757569778469
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.75&amp;#34;} 0.734268575017709
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.9&amp;#34;} 0.9059918694279894
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.98&amp;#34;} 0.9761803018478838
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.99&amp;#34;} 0.9820270046489341
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;,quantile=&amp;#34;0.999&amp;#34;} 0.9986025122460248
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label_sum{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;} 233.609026131067
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo_test_summary_with_label_count{summarylabel1=&amp;#34;value1&amp;#34;,summarylabel2=&amp;#34;value2&amp;#34;} 463
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>