Skip to content

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Sep 30, 2025

This PR mirrors the changes from the original community contribution to enable CI testing with
maintainer privileges.

Original PR: #9251
Original Author: @deejgregor
Original Branch: deejgregor/dd-trace-java:hikaricp-blocked-tracking

Closes #9251


This is an automated mirror created to run CI checks. See tooling/mirror-community-pull-request.sh for details.

deejgregor and others added 8 commits September 30, 2025 13:54
- Use dd.trace.experimental.jdbc.pool.waiting.enabled=true to enable.
- Change instrumentation name from jdbc-datasource to jdbc.
- Record exceptions.
- Use default instrumentation name (jdbc).
- Set resource name to {dbcp2,hikari}.waiting
- Comment on the overall structure and highlight related instrumentations.
- Avoid using reflection and breakup HikariConcurrentBagInstrumentation.ConstructorAdvice
  into separate, simpler instrumentations: HikariPoolInstrumentation and
  HikariConcurrentBagHandoffQueueInstrumentation.
- Move HikariBlockedTrackingSynchronousQueue into HikariConcurrentBagHandoffQueueInstrumentation.
- Make sure the instrumentationName is consistently "jdbc".
This would help if this feature becomes enabled it by default in the future, or if someone using this feature wanted to disable it for a particular pool library.

Suggested during code review.

Co-authored-by: Stuart McCulloch <mcculls@gmail.com>
@mcculls mcculls added type: enhancement Enhancements and improvements tag: community Community contribution inst: jdbc JDBC instrumentation labels Sep 30, 2025
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Sep 30, 2025

🎯 Code Coverage
Patch Coverage: 0.00%
Total Coverage: 57.93% (-0.04%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 74ec816 | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Sep 30, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master community-pr-9251
git_commit_date 1759394032 1759422435
git_commit_sha bd72002 74ec816
release_version 1.54.0-SNAPSHOT~bd72002abf 1.54.0-SNAPSHOT~74ec816e56
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1759424279 1759424279
ci_job_id 1160434850 1160434850
ci_pipeline_id 78220500 78220500
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-i4stccqs 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-i4stccqs 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 9 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:tracing:AppSec better
[-1.761ms; -1.001ms] or [-5.392%; -3.063%]
31.280ms 32.660ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.015 s) : 0, 1015294
Total [baseline] (10.619 s) : 0, 10618710
Agent [candidate] (1.016 s) : 0, 1015631
Total [candidate] (10.798 s) : 0, 10798239
section appsec
Agent [baseline] (1.192 s) : 0, 1191911
Total [baseline] (11.1 s) : 0, 11099816
Agent [candidate] (1.187 s) : 0, 1186715
Total [candidate] (11.0 s) : 0, 10999603
section iast
Agent [baseline] (1.154 s) : 0, 1153560
Total [baseline] (10.853 s) : 0, 10852674
Agent [candidate] (1.15 s) : 0, 1150232
Total [candidate] (10.907 s) : 0, 10907283
section profiling
Agent [baseline] (1.16 s) : 0, 1160372
Total [baseline] (11.036 s) : 0, 11036254
Agent [candidate] (1.173 s) : 0, 1173324
Total [candidate] (11.028 s) : 0, 11028028
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.015 s -
Agent appsec 1.192 s 176.617 ms (17.4%)
Agent iast 1.154 s 138.266 ms (13.6%)
Agent profiling 1.16 s 145.078 ms (14.3%)
Total tracing 10.619 s -
Total appsec 11.1 s 481.106 ms (4.5%)
Total iast 10.853 s 233.965 ms (2.2%)
Total profiling 11.036 s 417.544 ms (3.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.016 s -
Agent appsec 1.187 s 171.084 ms (16.8%)
Agent iast 1.15 s 134.601 ms (13.3%)
Agent profiling 1.173 s 157.693 ms (15.5%)
Total tracing 10.798 s -
Total appsec 11.0 s 201.364 ms (1.9%)
Total iast 10.907 s 109.044 ms (1.0%)
Total profiling 11.028 s 229.789 ms (2.1%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.472 ms) : 0, 1472
crashtracking [candidate] (1.475 ms) : 0, 1475
BytebuddyAgent [baseline] (692.173 ms) : 0, 692173
BytebuddyAgent [candidate] (691.916 ms) : 0, 691916
GlobalTracer [baseline] (241.506 ms) : 0, 241506
GlobalTracer [candidate] (244.528 ms) : 0, 244528
AppSec [baseline] (32.748 ms) : 0, 32748
AppSec [candidate] (31.664 ms) : 0, 31664
Debugger [baseline] (6.374 ms) : 0, 6374
Debugger [candidate] (6.407 ms) : 0, 6407
Remote Config [baseline] (688.537 µs) : 0, 689
Remote Config [candidate] (671.358 µs) : 0, 671
Telemetry [baseline] (9.001 ms) : 0, 9001
Telemetry [candidate] (9.122 ms) : 0, 9122
Flare Poller [baseline] (10.172 ms) : 0, 10172
Flare Poller [candidate] (8.667 ms) : 0, 8667
section appsec
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.461 ms) : 0, 1461
BytebuddyAgent [baseline] (715.885 ms) : 0, 715885
BytebuddyAgent [candidate] (713.388 ms) : 0, 713388
GlobalTracer [baseline] (234.887 ms) : 0, 234887
GlobalTracer [candidate] (234.603 ms) : 0, 234603
AppSec [baseline] (173.153 ms) : 0, 173153
AppSec [candidate] (172.495 ms) : 0, 172495
Debugger [baseline] (6.023 ms) : 0, 6023
Debugger [candidate] (6.092 ms) : 0, 6092
Remote Config [baseline] (661.94 µs) : 0, 662
Remote Config [candidate] (628.261 µs) : 0, 628
Telemetry [baseline] (9.822 ms) : 0, 9822
Telemetry [candidate] (8.266 ms) : 0, 8266
Flare Poller [baseline] (3.962 ms) : 0, 3962
Flare Poller [candidate] (3.98 ms) : 0, 3980
IAST [baseline] (24.912 ms) : 0, 24912
IAST [candidate] (24.755 ms) : 0, 24755
section iast
crashtracking [baseline] (1.456 ms) : 0, 1456
crashtracking [candidate] (1.456 ms) : 0, 1456
BytebuddyAgent [baseline] (816.278 ms) : 0, 816278
BytebuddyAgent [candidate] (814.429 ms) : 0, 814429
GlobalTracer [baseline] (233.563 ms) : 0, 233563
GlobalTracer [candidate] (233.115 ms) : 0, 233115
AppSec [baseline] (34.965 ms) : 0, 34965
AppSec [candidate] (34.197 ms) : 0, 34197
Debugger [baseline] (6.012 ms) : 0, 6012
Debugger [candidate] (6.188 ms) : 0, 6188
Remote Config [baseline] (596.504 µs) : 0, 597
Remote Config [candidate] (601.314 µs) : 0, 601
Telemetry [baseline] (8.191 ms) : 0, 8191
Telemetry [candidate] (8.306 ms) : 0, 8306
Flare Poller [baseline] (4.287 ms) : 0, 4287
Flare Poller [candidate] (4.23 ms) : 0, 4230
IAST [baseline] (26.778 ms) : 0, 26778
IAST [candidate] (26.312 ms) : 0, 26312
section profiling
ProfilingAgent [baseline] (104.382 ms) : 0, 104382
ProfilingAgent [candidate] (106.909 ms) : 0, 106909
crashtracking [baseline] (1.421 ms) : 0, 1421
crashtracking [candidate] (1.442 ms) : 0, 1442
BytebuddyAgent [baseline] (719.72 ms) : 0, 719720
BytebuddyAgent [candidate] (731.082 ms) : 0, 731082
GlobalTracer [baseline] (218.891 ms) : 0, 218891
GlobalTracer [candidate] (221.016 ms) : 0, 221016
AppSec [baseline] (32.699 ms) : 0, 32699
AppSec [candidate] (31.871 ms) : 0, 31871
Debugger [baseline] (6.58 ms) : 0, 6580
Debugger [candidate] (8.252 ms) : 0, 8252
Remote Config [baseline] (839.005 µs) : 0, 839
Remote Config [candidate] (758.021 µs) : 0, 758
Telemetry [baseline] (15.714 ms) : 0, 15714
Telemetry [candidate] (14.67 ms) : 0, 14670
Flare Poller [baseline] (5.016 ms) : 0, 5016
Flare Poller [candidate] (4.155 ms) : 0, 4155
Profiling [baseline] (107.528 ms) : 0, 107528
Profiling [candidate] (107.516 ms) : 0, 107516
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.018 s) : 0, 1017807
Total [baseline] (8.642 s) : 0, 8642131
Agent [candidate] (1.018 s) : 0, 1017626
Total [candidate] (8.653 s) : 0, 8653050
section iast
Agent [baseline] (1.153 s) : 0, 1153475
Total [baseline] (9.273 s) : 0, 9273386
Agent [candidate] (1.156 s) : 0, 1156444
Total [candidate] (9.255 s) : 0, 9255099
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.018 s -
Agent iast 1.153 s 135.668 ms (13.3%)
Total tracing 8.642 s -
Total iast 9.273 s 631.255 ms (7.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.018 s -
Agent iast 1.156 s 138.818 ms (13.6%)
Total tracing 8.653 s -
Total iast 9.255 s 602.049 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (692.237 ms) : 0, 692237
BytebuddyAgent [candidate] (693.148 ms) : 0, 693148
GlobalTracer [baseline] (242.665 ms) : 0, 242665
GlobalTracer [candidate] (243.693 ms) : 0, 243693
AppSec [baseline] (32.66 ms) : 0, 32660
AppSec [candidate] (31.28 ms) : 0, 31280
Debugger [baseline] (6.392 ms) : 0, 6392
Debugger [candidate] (6.366 ms) : 0, 6366
Remote Config [baseline] (680.431 µs) : 0, 680
Remote Config [candidate] (674.511 µs) : 0, 675
Telemetry [baseline] (9.098 ms) : 0, 9098
Telemetry [candidate] (9.104 ms) : 0, 9104
Flare Poller [baseline] (11.368 ms) : 0, 11368
Flare Poller [candidate] (10.815 ms) : 0, 10815
section iast
crashtracking [baseline] (1.469 ms) : 0, 1469
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (815.845 ms) : 0, 815845
BytebuddyAgent [candidate] (819.1 ms) : 0, 819100
GlobalTracer [baseline] (233.196 ms) : 0, 233196
GlobalTracer [candidate] (234.207 ms) : 0, 234207
AppSec [baseline] (35.7 ms) : 0, 35700
AppSec [candidate] (34.655 ms) : 0, 34655
Debugger [baseline] (6.058 ms) : 0, 6058
Debugger [candidate] (6.117 ms) : 0, 6117
Remote Config [baseline] (590.868 µs) : 0, 591
Remote Config [candidate] (590.532 µs) : 0, 591
Telemetry [baseline] (8.184 ms) : 0, 8184
Telemetry [candidate] (8.134 ms) : 0, 8134
Flare Poller [baseline] (4.293 ms) : 0, 4293
Flare Poller [candidate] (4.238 ms) : 0, 4238
IAST [baseline] (26.651 ms) : 0, 26651
IAST [candidate] (26.636 ms) : 0, 26636
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master community-pr-9251
git_commit_date 1759394032 1759422435
git_commit_sha bd72002 74ec816
release_version 1.54.0-SNAPSHOT~bd72002abf 1.54.0-SNAPSHOT~74ec816e56
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1759423937 1759423937
ci_job_id 1160434854 1160434854
ci_pipeline_id 78220500 78220500
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-50g3wb46 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-50g3wb46 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 4 performance improvements and 2 performance regressions! Performance is the same for 6 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:no_agent:high_load better
[-236.398µs; -129.272µs] or [-5.238%; -2.865%]
unstable
[-69.887op/s; +153.887op/s] or [-6.866%; +15.118%]
4.330ms 1059.938op/s 4.513ms 1017.938op/s
scenario:load:insecure-bank:tracing:high_load better
[-612.937µs; -352.317µs] or [-7.481%; -4.300%]
unstable
[-34.608op/s; +104.171op/s] or [-6.115%; +18.406%]
7.710ms 600.750op/s 8.193ms 565.969op/s
scenario:load:insecure-bank:iast_GLOBAL:high_load better
[-686.550µs; -284.752µs] or [-6.420%; -2.663%]
unstable
[-30.723op/s; +71.410op/s] or [-7.067%; +16.427%]
10.208ms 455.062op/s 10.694ms 434.719op/s
scenario:load:petclinic:no_agent:high_load worse
[+1.345ms; +1.989ms] or [+3.697%; +5.468%]
unstable
[-14.780op/s; +3.530op/s] or [-11.494%; +2.745%]
38.040ms 122.963op/s 36.373ms 128.588op/s
scenario:load:petclinic:tracing:high_load worse
[+1.391ms; +2.218ms] or [+3.179%; +5.069%]
unstable
[-11.826op/s; +3.476op/s] or [-11.062%; +3.251%]
45.564ms 102.737op/s 43.760ms 106.912op/s
scenario:load:petclinic:appsec:high_load better
[-2.727ms; -1.815ms] or [-5.598%; -3.727%]
unstable
[-2.842op/s; +12.142op/s] or [-2.956%; +12.630%]
46.433ms 100.787op/s 48.704ms 96.138op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.513 ms) : 4461, 4564
.   : milestone, 4513,
iast (9.58 ms) : 9419, 9740
.   : milestone, 9580,
iast_FULL (14.068 ms) : 13788, 14348
.   : milestone, 14068,
iast_GLOBAL (10.694 ms) : 10501, 10886
.   : milestone, 10694,
profiling (8.874 ms) : 8739, 9009
.   : milestone, 8874,
tracing (8.193 ms) : 8068, 8317
.   : milestone, 8193,
section candidate
no_agent (4.33 ms) : 4282, 4378
.   : milestone, 4330,
iast (9.722 ms) : 9560, 9884
.   : milestone, 9722,
iast_FULL (14.059 ms) : 13782, 14337
.   : milestone, 14059,
iast_GLOBAL (10.208 ms) : 10027, 10388
.   : milestone, 10208,
profiling (8.843 ms) : 8693, 8993
.   : milestone, 8843,
tracing (7.71 ms) : 7593, 7828
.   : milestone, 7710,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.513 ms [4.461 ms, 4.564 ms] -
iast 9.58 ms [9.419 ms, 9.74 ms] 5.067 ms (112.3%)
iast_FULL 14.068 ms [13.788 ms, 14.348 ms] 9.555 ms (211.7%)
iast_GLOBAL 10.694 ms [10.501 ms, 10.886 ms] 6.181 ms (137.0%)
profiling 8.874 ms [8.739 ms, 9.009 ms] 4.361 ms (96.6%)
tracing 8.193 ms [8.068 ms, 8.317 ms] 3.68 ms (81.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.33 ms [4.282 ms, 4.378 ms] -
iast 9.722 ms [9.56 ms, 9.884 ms] 5.392 ms (124.5%)
iast_FULL 14.059 ms [13.782 ms, 14.337 ms] 9.729 ms (224.7%)
iast_GLOBAL 10.208 ms [10.027 ms, 10.388 ms] 5.878 ms (135.7%)
profiling 8.843 ms [8.693 ms, 8.993 ms] 4.513 ms (104.2%)
tracing 7.71 ms [7.593 ms, 7.828 ms] 3.38 ms (78.1%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf
    dateFormat X
    axisFormat %s
section baseline
no_agent (36.373 ms) : 36082, 36664
.   : milestone, 36373,
appsec (48.704 ms) : 48265, 49143
.   : milestone, 48704,
code_origins (44.583 ms) : 44206, 44959
.   : milestone, 44583,
iast (46.103 ms) : 45719, 46488
.   : milestone, 46103,
profiling (47.539 ms) : 47119, 47960
.   : milestone, 47539,
tracing (43.76 ms) : 43384, 44135
.   : milestone, 43760,
section candidate
no_agent (38.04 ms) : 37732, 38347
.   : milestone, 38040,
appsec (46.433 ms) : 46025, 46840
.   : milestone, 46433,
code_origins (44.917 ms) : 44527, 45306
.   : milestone, 44917,
iast (45.581 ms) : 45185, 45978
.   : milestone, 45581,
profiling (47.089 ms) : 46658, 47520
.   : milestone, 47089,
tracing (45.564 ms) : 45171, 45957
.   : milestone, 45564,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.373 ms [36.082 ms, 36.664 ms] -
appsec 48.704 ms [48.265 ms, 49.143 ms] 12.331 ms (33.9%)
code_origins 44.583 ms [44.206 ms, 44.959 ms] 8.21 ms (22.6%)
iast 46.103 ms [45.719 ms, 46.488 ms] 9.73 ms (26.8%)
profiling 47.539 ms [47.119 ms, 47.96 ms] 11.166 ms (30.7%)
tracing 43.76 ms [43.384 ms, 44.135 ms] 7.387 ms (20.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 38.04 ms [37.732 ms, 38.347 ms] -
appsec 46.433 ms [46.025 ms, 46.84 ms] 8.393 ms (22.1%)
code_origins 44.917 ms [44.527 ms, 45.306 ms] 6.877 ms (18.1%)
iast 45.581 ms [45.185 ms, 45.978 ms] 7.542 ms (19.8%)
profiling 47.089 ms [46.658 ms, 47.52 ms] 9.049 ms (23.8%)
tracing 45.564 ms [45.171 ms, 45.957 ms] 7.525 ms (19.8%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master community-pr-9251
git_commit_date 1759394032 1759422435
git_commit_sha bd72002 74ec816
release_version 1.54.0-SNAPSHOT~bd72002abf 1.54.0-SNAPSHOT~74ec816e56
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1759424491 1759424491
ci_job_id 1160434856 1160434856
ci_pipeline_id 78220500 78220500
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-rs4o1l56 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-rs4o1l56 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.485 ms) : 1473, 1496
.   : milestone, 1485,
appsec (3.75 ms) : 3532, 3967
.   : milestone, 3750,
iast (2.217 ms) : 2154, 2281
.   : milestone, 2217,
iast_GLOBAL (2.256 ms) : 2192, 2319
.   : milestone, 2256,
profiling (2.055 ms) : 2003, 2106
.   : milestone, 2055,
tracing (2.031 ms) : 1982, 2081
.   : milestone, 2031,
section candidate
no_agent (1.482 ms) : 1471, 1494
.   : milestone, 1482,
appsec (3.714 ms) : 3496, 3932
.   : milestone, 3714,
iast (2.213 ms) : 2150, 2276
.   : milestone, 2213,
iast_GLOBAL (2.274 ms) : 2209, 2339
.   : milestone, 2274,
profiling (2.074 ms) : 2021, 2126
.   : milestone, 2074,
tracing (2.041 ms) : 1991, 2091
.   : milestone, 2041,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.485 ms [1.473 ms, 1.496 ms] -
appsec 3.75 ms [3.532 ms, 3.967 ms] 2.265 ms (152.6%)
iast 2.217 ms [2.154 ms, 2.281 ms] 732.884 µs (49.4%)
iast_GLOBAL 2.256 ms [2.192 ms, 2.319 ms] 771.031 µs (51.9%)
profiling 2.055 ms [2.003 ms, 2.106 ms] 570.187 µs (38.4%)
tracing 2.031 ms [1.982 ms, 2.081 ms] 546.562 µs (36.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.471 ms, 1.494 ms] -
appsec 3.714 ms [3.496 ms, 3.932 ms] 2.232 ms (150.6%)
iast 2.213 ms [2.15 ms, 2.276 ms] 730.741 µs (49.3%)
iast_GLOBAL 2.274 ms [2.209 ms, 2.339 ms] 791.733 µs (53.4%)
profiling 2.074 ms [2.021 ms, 2.126 ms] 591.496 µs (39.9%)
tracing 2.041 ms [1.991 ms, 2.091 ms] 558.756 µs (37.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~74ec816e56, baseline=1.54.0-SNAPSHOT~bd72002abf
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.62 s) : 15620000, 15620000
.   : milestone, 15620000,
appsec (15.374 s) : 15374000, 15374000
.   : milestone, 15374000,
iast (18.496 s) : 18496000, 18496000
.   : milestone, 18496000,
iast_GLOBAL (17.504 s) : 17504000, 17504000
.   : milestone, 17504000,
profiling (15.675 s) : 15675000, 15675000
.   : milestone, 15675000,
tracing (15.197 s) : 15197000, 15197000
.   : milestone, 15197000,
section candidate
no_agent (15.419 s) : 15419000, 15419000
.   : milestone, 15419000,
appsec (15.06 s) : 15060000, 15060000
.   : milestone, 15060000,
iast (18.597 s) : 18597000, 18597000
.   : milestone, 18597000,
iast_GLOBAL (18.138 s) : 18138000, 18138000
.   : milestone, 18138000,
profiling (15.44 s) : 15440000, 15440000
.   : milestone, 15440000,
tracing (15.028 s) : 15028000, 15028000
.   : milestone, 15028000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.62 s [15.62 s, 15.62 s] -
appsec 15.374 s [15.374 s, 15.374 s] -246.0 ms (-1.6%)
iast 18.496 s [18.496 s, 18.496 s] 2.876 s (18.4%)
iast_GLOBAL 17.504 s [17.504 s, 17.504 s] 1.884 s (12.1%)
profiling 15.675 s [15.675 s, 15.675 s] 55.0 ms (0.4%)
tracing 15.197 s [15.197 s, 15.197 s] -423.0 ms (-2.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.419 s [15.419 s, 15.419 s] -
appsec 15.06 s [15.06 s, 15.06 s] -359.0 ms (-2.3%)
iast 18.597 s [18.597 s, 18.597 s] 3.178 s (20.6%)
iast_GLOBAL 18.138 s [18.138 s, 18.138 s] 2.719 s (17.6%)
profiling 15.44 s [15.44 s, 15.44 s] 21.0 ms (0.1%)
tracing 15.028 s [15.028 s, 15.028 s] -391.0 ms (-2.5%)

@mcculls mcculls marked this pull request as ready for review October 1, 2025 15:32
@mcculls mcculls requested review from a team as code owners October 1, 2025 15:32
@mcculls mcculls requested a review from amarziali October 1, 2025 15:32
Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening/mirroring that PR. Looks good to me. Nice coverage in terms of instrumentations for the two main different pool we already support. I left a comment (perhaps for the future) to have better trace metrics for this spans (they are btw not measured right now)

private static final ThreadLocal<Boolean> tracker = new ThreadLocal<>();

public static void clearBlocked() {
tracker.remove();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@deejgregor I made a small change here to remove the thread-local when done, just in case a large number of threads end up calling into Hikari

}

public static boolean wasBlocked() {
return TRUE == tracker.get();
Copy link
Contributor Author

@mcculls mcculls Oct 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@deejgregor likewise here we now avoid creating a false entry in the thread-local map if there is no blocking happening (previously this would happen because of the withInitial used when constructing the thread-local)


span.finish();

HikariBlockedTracker.clearBlocked();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@deejgregor another small improvement: we check if there was blocking in the surrounding if, so only need to clear it if we entered that if block

@mcculls
Copy link
Contributor Author

mcculls commented Oct 2, 2025

@deejgregor I tweaked the HikariBlockedTracker code in 41f787c - hopefully you agree with those changes

@deejgregor
Copy link
Contributor

@deejgregor I tweaked the HikariBlockedTracker code in 41f787c - hopefully you agree with those changes

Yes, looks great. Thank you!

@mcculls mcculls merged commit 9c7e69a into master Oct 2, 2025
693 of 695 checks passed
@mcculls mcculls deleted the community-pr-9251 branch October 2, 2025 18:00
@github-actions github-actions bot added this to the 1.54.0 milestone Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: jdbc JDBC instrumentation tag: community Community contribution type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants