You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "saurabhkgp21 (via GitHub)" <gi...@apache.org> on 2026/05/31 04:39:17 UTC
[PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
saurabhkgp21 opened a new pull request, #63916:
URL: https://github.com/apache/doris/pull/63916
## Summary
Expose JVM buffer pool statistics in FE metric endpoints to improve observability of off-heap memory usage.
**Changes:**
- Add buffer pool metrics (`jvm_buffer_pool_used_bytes`, `jvm_buffer_pool_capacity_bytes`, `jvm_buffer_pool_count`) to both Prometheus and JSON metric visitors, broken down by pool name (direct, mapped)
- Add `jvm_buffer_pool_max_bytes` metric exposing the configured `MaxDirectMemorySize`
- Improve `JvmInfo` to parse `-XX:MaxDirectMemorySize=` from JVM input arguments as a fallback when the standard API returns 0
## Motivation
Buffer pool metrics are critical for diagnosing off-heap memory issues (e.g., direct buffer OOM). Currently, FE exposes heap and GC metrics but not buffer pool stats, making it difficult to monitor direct memory pressure via Prometheus/Grafana.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4585718548
Thank you for your contribution to Apache Doris.
Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/How+to+process+your+PR).
Please clearly describe your PR:
1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
3. What features were added. Why was this function added?
4. Which code was refactored and why was this part of the code refactored?
5. Which functions were optimized and what is the difference before and after the optimization?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4591707438
# FE Regression Coverage Report
Increment line coverage ` 6.68% (35/524)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/63916_7418019dbabc2bf587e0a977797e5457e0fc6f39_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/63916_7418019dbabc2bf587e0a977797e5457e0fc6f39_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on code in PR #63916:
URL: https://github.com/apache/doris/pull/63916#discussion_r3332233840
##########
fe/fe-core/src/main/java/org/apache/doris/monitor/jvm/JvmInfo.java:
##########
@@ -80,6 +82,24 @@ public class JvmInfo {
}
String[] inputArguments = runtimeMXBean.getInputArguments()
.toArray(new String[runtimeMXBean.getInputArguments().size()]);
+
+ if (directMemoryMax == 0) {
+ for (String arg : inputArguments) {
+ if (arg.startsWith("-XX:MaxDirectMemorySize=")) {
+ try {
+ directMemoryMax = ByteSizeValue.simpleParseBytesSizeValue(
+ arg.substring("-XX:MaxDirectMemorySize=".length()),
+ "MaxDirectMemorySize");
Review Comment:
This still leaves `directMemoryMax` as `0` in the default FE Java 17 configuration. `conf/fe.conf`/`bin/start_fe.sh` do not set `-XX:MaxDirectMemorySize` or open `java.base/jdk.internal.misc`, so `sun.misc.VM` is unavailable, `jdk.internal.misc.VM.maxDirectMemory()` cannot be made accessible, and this new fallback finds no input argument. The newly added `jvm_buffer_pool_max_bytes{name="direct"}` metric then reports `0` even though HotSpot's unset `MaxDirectMemorySize` limit defaults to the max heap size. That makes the new metric misleading for normal deployments and breaks direct-memory pressure alerting based on `used / max`. Please resolve the default case, for example by falling back to the VM's effective default instead of publishing zero, or by not emitting the max metric when the limit is genuinely unknown.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "morrySnow (via GitHub)" <gi...@apache.org>.
morrySnow commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4590291708
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4592197228
<details>
<summary>TPC-H: <b>Total hot run time: 29167 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 7418019dbabc2bf587e0a977797e5457e0fc6f39, data reload: false
------ Round 1 ----------------------------------
orders Doris NULL NULL 0 0 0 NULL 0 NULL NULL 2023-12-26 18:27:23 2023-12-26 18:42:55 NULL utf-8 NULL NULL
============================================
q1 17706 4045 3981 3981
q2 q3 10772 1375 826 826
q4 4689 483 345 345
q5 7549 895 599 599
q6 179 170 138 138
q7 764 864 655 655
q8 9348 1700 1629 1629
q9 5934 4521 4512 4512
q10 6749 1815 1558 1558
q11 434 274 259 259
q12 634 432 283 283
q13 18138 3338 2773 2773
q14 265 255 237 237
q15 q16 831 787 708 708
q17 948 875 966 875
q18 6973 5684 5609 5609
q19 1331 1309 987 987
q20 524 400 263 263
q21 6348 2820 2605 2605
q22 451 386 325 325
Total cold run time: 100567 ms
Total hot run time: 29167 ms
----- Round 2, with runtime_filter_mode=off -----
orders Doris NULL NULL 150000000 42 6422171781 NULL 22778155 NULL NULL 2023-12-26 18:27:23 2023-12-26 18:42:55 NULL utf-8 NULL NULL
============================================
q1 5177 4705 4833 4705
q2 q3 4829 5386 4768 4768
q4 2098 2195 1396 1396
q5 4828 4765 4825 4765
q6 233 181 128 128
q7 1850 1747 1579 1579
q8 2381 2134 2073 2073
q9 7959 7873 7556 7556
q10 4752 4635 4206 4206
q11 526 386 356 356
q12 732 739 530 530
q13 2953 3442 2799 2799
q14 268 279 251 251
q15 q16 686 703 619 619
q17 1268 1247 1245 1245
q18 7175 6869 6734 6734
q19 1171 1073 1118 1073
q20 2194 2201 1945 1945
q21 5271 4561 4405 4405
q22 507 449 398 398
Total cold run time: 56858 ms
Total hot run time: 51531 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4590799472
# FE UT Coverage Report
Increment line coverage ` 81.40% (35/43)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/63916_7418019dbabc2bf587e0a977797e5457e0fc6f39/fe_increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/63916_7418019dbabc2bf587e0a977797e5457e0fc6f39/fe_report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4592275553
<details>
<summary>TPC-DS: <b>Total hot run time: 171232 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 7418019dbabc2bf587e0a977797e5457e0fc6f39, data reload: false
query5 4308 648 520 520
query6 329 243 198 198
query7 4223 539 308 308
query8 333 227 213 213
query9 8812 4037 3994 3994
query10 461 335 289 289
query11 5803 2404 2186 2186
query12 194 133 131 131
query13 1282 619 430 430
query14 6087 5426 5080 5080
query14_1 4404 4418 4402 4402
query15 211 201 181 181
query16 999 447 442 442
query17 952 721 577 577
query18 2466 479 353 353
query19 222 202 175 175
query20 140 134 136 134
query21 222 143 118 118
query22 13602 13704 13327 13327
query23 17347 16473 16244 16244
query23_1 16336 16350 16380 16350
query24 7493 1790 1305 1305
query24_1 1335 1322 1322 1322
query25 597 510 457 457
query26 1304 326 173 173
query27 2697 569 344 344
query28 4464 2021 1995 1995
query29 1026 650 529 529
query30 308 238 202 202
query31 1154 1086 950 950
query32 97 77 76 76
query33 563 370 302 302
query34 1174 1134 644 644
query35 772 806 712 712
query36 1392 1411 1291 1291
query37 155 109 89 89
query38 3224 3170 3088 3088
query39 937 918 919 918
query39_1 878 885 890 885
query40 244 157 133 133
query41 76 72 71 71
query42 121 118 116 116
query43 329 333 290 290
query44
query45 217 207 200 200
query46 1092 1192 719 719
query47 2445 2409 2234 2234
query48 403 425 298 298
query49 661 526 411 411
query50 994 352 267 267
query51 4403 4256 4274 4256
query52 112 107 99 99
query53 263 284 207 207
query54 349 292 288 288
query55 98 95 99 95
query56 329 322 349 322
query57 1463 1439 1361 1361
query58 331 287 282 282
query59 1581 1669 1418 1418
query60 343 342 361 342
query61 165 166 160 160
query62 710 646 578 578
query63 247 204 215 204
query64 2399 805 636 636
query65
query66 1715 479 359 359
query67 29622 29644 29490 29490
query68
query69 475 338 301 301
query70 1043 989 994 989
query71 317 297 278 278
query72 3081 2756 2483 2483
query73 826 783 437 437
query74 5119 4941 4793 4793
query75 2710 2614 2273 2273
query76 2270 1151 757 757
query77 402 411 341 341
query78 12398 12414 11896 11896
query79 1536 1055 752 752
query80 777 531 484 484
query81 472 279 245 245
query82 1487 157 129 129
query83 347 277 246 246
query84 303 143 112 112
query85 931 546 503 503
query86 443 358 324 324
query87 3429 3373 3245 3245
query88 3655 2722 2724 2722
query89 458 391 344 344
query90 1803 191 188 188
query91 176 163 138 138
query92 82 78 76 76
query93 1560 1439 818 818
query94 628 374 302 302
query95 666 393 437 393
query96 1017 764 343 343
query97 2744 2740 2607 2607
query98 261 226 243 226
query99 1178 1167 1051 1051
Total cold run time: 254515 ms
Total hot run time: 171232 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "saurabhkgp21 (via GitHub)" <gi...@apache.org>.
saurabhkgp21 commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4585745676
/review
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](metric) Add JVM buffer pool metrics to FE metric endpoints [doris]
Posted by "morrySnow (via GitHub)" <gi...@apache.org>.
morrySnow commented on PR #63916:
URL: https://github.com/apache/doris/pull/63916#issuecomment-4590291159
/review
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org