Uh oh!
There was an error while loading. Please reload this page.
branch-4.0: [fix](cloud) add metrics for FE to MS rpc (#60574) - #61136
Conversation
all rpc metric:
```
doris_fe_meta_service_rpc_all_per_second 0.625
doris_fe_meta_service_rpc_all_total 12433
doris_fe_meta_service_rpc_all_failed 0
doris_fe_meta_service_rpc_all_retry 0
```
rpc metric for per rpc(use `getVersion` as an example):
```
doris_fe_meta_service_rpc_total{method="getVersion"} 552
doris_fe_meta_service_rpc_failed{method="getVersion"} 1
doris_fe_meta_service_rpc_retry{method="getVersion"} 1
doris_fe_meta_service_rpc_per_second{method="getVersion"} 0.0625
doris_fe_meta_service_rpc_latency_ms{quantile="0.75",method="getVersion"} 27.0
doris_fe_meta_service_rpc_latency_ms{quantile="0.95",method="getVersion"} 27.0
doris_fe_meta_service_rpc_latency_ms{quantile="0.98",method="getVersion"} 27.0
doris_fe_meta_service_rpc_latency_ms{quantile="0.99",method="getVersion"} 27.0
doris_fe_meta_service_rpc_latency_ms{quantile="0.999",method="getVersion"} 92.0
doris_fe_meta_service_rpc_latency_ms_sum{method="getVersion"} 10386.542007715485
doris_fe_meta_service_rpc_latency_ms_count{method="getVersion"} 552
```… and getPartitionVersion (apache#60745)
hello-stephen
commented
Mar 9, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
mymeiyi
commented
Mar 9, 2026
run buildall |
There was a problem hiding this comment.
Pull request overview
This PR cherry-picks two PRs (#60574 and #60745) to branch-4.0, adding comprehensive metrics tracking for FE-to-MetaService RPC calls in Apache Doris's cloud mode. The metrics include per-method and aggregate counters for total calls, failures, retries, latency histograms, and requests-per-second rates.
Changes:
- Adds new per-method and aggregate RPC metric definitions in
CloudMetricsand metric calculation logic inMetricCalculator, following the existing cluster metrics pattern. - Instruments all
MetaServiceProxyRPC methods with metrics tracking via a newexecuteWithMetricshelper (or inline forgetInstanceand asyncgetVisibleVersionAsync), differentiatinggetVersioncalls intogetTableVersionandgetPartitionVersion. - Updates
executeRequestsignature to accept amethodNameparameter for retry tracking, with corresponding test updates.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
fe/fe-core/src/main/java/org/apache/doris/metric/CloudMetrics.java | Declares and initializes per-method and aggregate meta-service RPC metric fields |
fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceProxy.java | Adds executeWithMetrics helper and instruments all RPC methods with metrics; updates executeRequest signature to include methodName |
fe/fe-core/src/main/java/org/apache/doris/metric/MetricCalculator.java | Adds per-second rate calculation for aggregate and per-method meta-service RPC metrics |
fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java | Adds updateMetaServiceRpcPerSecond helper method |
fe/fe-core/src/test/java/org/apache/doris/cloud/rpc/MetaServiceProxyTest.java | Updates test calls to match new executeRequest signature |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
hello-stephen
commented
Mar 9, 2026
FE UT Coverage ReportIncrement line coverage |
Uh oh!
There was an error while loading. Please reload this page.
pick #60574 and #60745