Skip to content

Conversation

amarziali
Copy link
Contributor

What Does This Do

If multiple calls are done to SharedCommunicationObjects.featureDiscovery(..) it might happen that multiple DDAgentFeatureDiscovery instances are created.
This discovery instance must be unique in order to ensure that, tracer-wise, we keep the same vision of the state of the agent.

This PR just add a synchronized block around that creation

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali amarziali requested a review from a team as a code owner July 9, 2025 16:09
@amarziali amarziali requested a review from PerfectSlayer July 9, 2025 16:09
Copy link
Contributor

github-actions bot commented Jul 9, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@amarziali amarziali added type: bug Bug report and fix comp: core Tracer core labels Jul 9, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jul 9, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/css2
git_commit_date 1752084850 1752131308
git_commit_sha 89e92d5 005f711
release_version 1.52.0-SNAPSHOT~89e92d59f6 1.52.0-SNAPSHOT~005f71100e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1752133201 1752133201
ci_job_id 1022164490 1022164490
ci_pipeline_id 70137463 70137463
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-uq7utqhf 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-uq7utqhf 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 0 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt title petclinic - global startup overhead: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section tracing Agent [baseline] (994.491 ms) : 0, 994491 Total [baseline] (10.638 s) : 0, 10637758 Agent [candidate] (1.0 s) : 0, 1000018 Total [candidate] (10.645 s) : 0, 10645284 section appsec Agent [baseline] (1.181 s) : 0, 1181351 Total [baseline] (10.736 s) : 0, 10735641 Agent [candidate] (1.181 s) : 0, 1181497 Total [candidate] (10.763 s) : 0, 10763327 section iast Agent [baseline] (1.139 s) : 0, 1139116 Total [baseline] (10.828 s) : 0, 10827583 Agent [candidate] (1.129 s) : 0, 1129040 Total [candidate] (10.788 s) : 0, 10787651 section profiling Agent [baseline] (1.243 s) : 0, 1243476 Total [baseline] (10.896 s) : 0, 10895741 Agent [candidate] (1.254 s) : 0, 1254173 Total [candidate] (11.019 s) : 0, 11018573 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 994.491 ms -
Agent appsec 1.181 s 186.86 ms (18.8%)
Agent iast 1.139 s 144.624 ms (14.5%)
Agent profiling 1.243 s 248.984 ms (25.0%)
Total tracing 10.638 s -
Total appsec 10.736 s 97.883 ms (0.9%)
Total iast 10.828 s 189.825 ms (1.8%)
Total profiling 10.896 s 257.982 ms (2.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.0 s -
Agent appsec 1.181 s 181.479 ms (18.1%)
Agent iast 1.129 s 129.022 ms (12.9%)
Agent profiling 1.254 s 254.155 ms (25.4%)
Total tracing 10.645 s -
Total appsec 10.763 s 118.043 ms (1.1%)
Total iast 10.788 s 142.367 ms (1.3%)
Total profiling 11.019 s 373.289 ms (3.5%)
gantt title petclinic - break down per module: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (686.58 ms) : 0, 686580 BytebuddyAgent [candidate] (690.854 ms) : 0, 690854 GlobalTracer [baseline] (241.93 ms) : 0, 241930 GlobalTracer [candidate] (243.021 ms) : 0, 243021 AppSec [baseline] (30.313 ms) : 0, 30313 AppSec [candidate] (30.351 ms) : 0, 30351 Debugger [baseline] (5.944 ms) : 0, 5944 Debugger [candidate] (6.028 ms) : 0, 6028 Remote Config [baseline] (685.513 µs) : 0, 686 Remote Config [candidate] (675.11 µs) : 0, 675 Telemetry [baseline] (8.201 ms) : 0, 8201 Telemetry [candidate] (8.272 ms) : 0, 8272 section appsec BytebuddyAgent [baseline] (714.436 ms) : 0, 714436 BytebuddyAgent [candidate] (714.217 ms) : 0, 714217 GlobalTracer [baseline] (236.135 ms) : 0, 236135 GlobalTracer [candidate] (236.857 ms) : 0, 236857 AppSec [baseline] (171.757 ms) : 0, 171757 AppSec [candidate] (171.458 ms) : 0, 171458 Debugger [baseline] (5.725 ms) : 0, 5725 Debugger [candidate] (5.692 ms) : 0, 5692 Remote Config [baseline] (609.997 µs) : 0, 610 Remote Config [candidate] (599.28 µs) : 0, 599 Telemetry [baseline] (8.117 ms) : 0, 8117 Telemetry [candidate] (8.115 ms) : 0, 8115 IAST [baseline] (23.579 ms) : 0, 23579 IAST [candidate] (23.588 ms) : 0, 23588 section iast BytebuddyAgent [baseline] (812.86 ms) : 0, 812860 BytebuddyAgent [candidate] (805.233 ms) : 0, 805233 GlobalTracer [baseline] (232.991 ms) : 0, 232991 GlobalTracer [candidate] (231.565 ms) : 0, 231565 AppSec [baseline] (28.524 ms) : 0, 28524 AppSec [candidate] (30.56 ms) : 0, 30560 Debugger [baseline] (5.768 ms) : 0, 5768 Debugger [candidate] (5.676 ms) : 0, 5676 Remote Config [baseline] (583.746 µs) : 0, 584 Remote Config [candidate] (575.697 µs) : 0, 576 Telemetry [baseline] (7.953 ms) : 0, 7953 Telemetry [candidate] (7.833 ms) : 0, 7833 IAST [baseline] (29.589 ms) : 0, 29589 IAST [candidate] (26.914 ms) : 0, 26914 section profiling ProfilingAgent [baseline] (103.537 ms) : 0, 103537 ProfilingAgent [candidate] (106.617 ms) : 0, 106617 BytebuddyAgent [baseline] (676.143 ms) : 0, 676143 BytebuddyAgent [candidate] (682.253 ms) : 0, 682253 GlobalTracer [baseline] (361.955 ms) : 0, 361955 GlobalTracer [candidate] (363.788 ms) : 0, 363788 AppSec [baseline] (33.294 ms) : 0, 33294 AppSec [candidate] (34.615 ms) : 0, 34615 Debugger [baseline] (8.426 ms) : 0, 8426 Debugger [candidate] (7.673 ms) : 0, 7673 Remote Config [baseline] (662.731 µs) : 0, 663 Remote Config [candidate] (675.726 µs) : 0, 676 Telemetry [baseline] (10.961 ms) : 0, 10961 Telemetry [candidate] (9.641 ms) : 0, 9641 Profiling [baseline] (103.562 ms) : 0, 103562 Profiling [candidate] (106.641 ms) : 0, 106641 
Loading
Startup time reports for insecure-bank
gantt title insecure-bank - global startup overhead: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section tracing Agent [baseline] (996.811 ms) : 0, 996811 Total [baseline] (8.597 s) : 0, 8597451 Agent [candidate] (994.097 ms) : 0, 994097 Total [candidate] (8.53 s) : 0, 8530272 section iast Agent [baseline] (1.132 s) : 0, 1131799 Total [baseline] (9.297 s) : 0, 9297338 Agent [candidate] (1.13 s) : 0, 1130076 Total [candidate] (9.275 s) : 0, 9274818 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 996.811 ms -
Agent iast 1.132 s 134.987 ms (13.5%)
Total tracing 8.597 s -
Total iast 9.297 s 699.887 ms (8.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 994.097 ms -
Agent iast 1.13 s 135.979 ms (13.7%)
Total tracing 8.53 s -
Total iast 9.275 s 744.546 ms (8.7%)
gantt title insecure-bank - break down per module: candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (688.619 ms) : 0, 688619 BytebuddyAgent [candidate] (686.07 ms) : 0, 686070 GlobalTracer [baseline] (242.235 ms) : 0, 242235 GlobalTracer [candidate] (242.272 ms) : 0, 242272 AppSec [baseline] (30.342 ms) : 0, 30342 AppSec [candidate] (30.12 ms) : 0, 30120 Debugger [baseline] (5.974 ms) : 0, 5974 Debugger [candidate] (5.992 ms) : 0, 5992 Remote Config [baseline] (682.396 µs) : 0, 682 Remote Config [candidate] (684.461 µs) : 0, 684 Telemetry [baseline] (8.188 ms) : 0, 8188 Telemetry [candidate] (8.251 ms) : 0, 8251 section iast BytebuddyAgent [baseline] (807.531 ms) : 0, 807531 BytebuddyAgent [candidate] (805.994 ms) : 0, 805994 GlobalTracer [baseline] (231.779 ms) : 0, 231779 GlobalTracer [candidate] (231.648 ms) : 0, 231648 AppSec [baseline] (30.699 ms) : 0, 30699 AppSec [candidate] (27.994 ms) : 0, 27994 Debugger [baseline] (5.685 ms) : 0, 5685 Debugger [candidate] (6.661 ms) : 0, 6661 Remote Config [baseline] (568.729 µs) : 0, 569 Remote Config [candidate] (584.125 µs) : 0, 584 Telemetry [baseline] (7.899 ms) : 0, 7899 Telemetry [candidate] (7.914 ms) : 0, 7914 IAST [baseline] (26.923 ms) : 0, 26923 IAST [candidate] (28.627 ms) : 0, 28627 
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/css2
git_commit_date 1752084850 1752131308
git_commit_sha 89e92d5 005f711
release_version 1.52.0-SNAPSHOT~89e92d59f6 1.52.0-SNAPSHOT~005f71100e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1752132882 1752132882
ci_job_id 1022164491 1022164491
ci_pipeline_id 70137463 70137463
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-7c7oovqr 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-7c7oovqr 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 3 performance improvements and 0 performance regressions! Performance is the same for 9 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:tracing:high_load better
[-585.732µs; -344.149µs] or [-7.414%; -4.356%]
unstable
[-40.418op/s; +112.793op/s] or [-6.891%; +19.232%]
7.436ms 622.688op/s 7.900ms 586.500op/s
scenario:load:insecure-bank:iast:high_load better
[-551.834µs; -209.762µs] or [-5.798%; -2.204%]
unstable
[-44.100op/s; +83.850op/s] or [-9.036%; +17.180%]
9.137ms 507.938op/s 9.518ms 488.062op/s
scenario:load:petclinic:appsec:high_load better
[-2.555ms; -1.614ms] or [-5.076%; -3.205%]
unstable
[-3.271op/s; +11.296op/s] or [-3.517%; +12.144%]
48.254ms 97.025op/s 50.339ms 93.013op/s
Request duration reports for petclinic
gantt title petclinic - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section baseline no_agent (36.044 ms) : 35744, 36343 . : milestone, 36044, appsec (50.339 ms) : 49881, 50796 . : milestone, 50339, code_origins (44.832 ms) : 44460, 45204 . : milestone, 44832, iast (42.755 ms) : 42397, 43113 . : milestone, 42755, profiling (46.558 ms) : 46088, 47027 . : milestone, 46558, tracing (43.663 ms) : 43306, 44020 . : milestone, 43663, section candidate no_agent (36.514 ms) : 36218, 36811 . : milestone, 36514, appsec (48.254 ms) : 47838, 48670 . : milestone, 48254, code_origins (44.508 ms) : 44136, 44880 . : milestone, 44508, iast (42.819 ms) : 42464, 43175 . : milestone, 42819, profiling (46.494 ms) : 46067, 46922 . : milestone, 46494, tracing (44.014 ms) : 43652, 44375 . : milestone, 44014, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.044 ms [35.744 ms, 36.343 ms] -
appsec 50.339 ms [49.881 ms, 50.796 ms] 14.295 ms (39.7%)
code_origins 44.832 ms [44.46 ms, 45.204 ms] 8.788 ms (24.4%)
iast 42.755 ms [42.397 ms, 43.113 ms] 6.711 ms (18.6%)
profiling 46.558 ms [46.088 ms, 47.027 ms] 10.514 ms (29.2%)
tracing 43.663 ms [43.306 ms, 44.02 ms] 7.619 ms (21.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.514 ms [36.218 ms, 36.811 ms] -
appsec 48.254 ms [47.838 ms, 48.67 ms] 11.74 ms (32.2%)
code_origins 44.508 ms [44.136 ms, 44.88 ms] 7.994 ms (21.9%)
iast 42.819 ms [42.464 ms, 43.175 ms] 6.305 ms (17.3%)
profiling 46.494 ms [46.067 ms, 46.922 ms] 9.98 ms (27.3%)
tracing 44.014 ms [43.652 ms, 44.375 ms] 7.5 ms (20.5%)
Request duration reports for insecure-bank
gantt title insecure-bank - request duration [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section baseline no_agent (4.316 ms) : 4267, 4365 . : milestone, 4316, iast (9.518 ms) : 9351, 9685 . : milestone, 9518, iast_FULL (13.79 ms) : 13513, 14067 . : milestone, 13790, iast_GLOBAL (9.987 ms) : 9810, 10165 . : milestone, 9987, profiling (8.865 ms) : 8718, 9012 . : milestone, 8865, tracing (7.9 ms) : 7787, 8014 . : milestone, 7900, section candidate no_agent (4.371 ms) : 4323, 4420 . : milestone, 4371, iast (9.137 ms) : 8986, 9287 . : milestone, 9137, iast_FULL (13.731 ms) : 13461, 14001 . : milestone, 13731, iast_GLOBAL (10.362 ms) : 10181, 10544 . : milestone, 10362, profiling (8.699 ms) : 8556, 8843 . : milestone, 8699, tracing (7.436 ms) : 7324, 7547 . : milestone, 7436, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.316 ms [4.267 ms, 4.365 ms] -
iast 9.518 ms [9.351 ms, 9.685 ms] 5.202 ms (120.5%)
iast_FULL 13.79 ms [13.513 ms, 14.067 ms] 9.474 ms (219.5%)
iast_GLOBAL 9.987 ms [9.81 ms, 10.165 ms] 5.671 ms (131.4%)
profiling 8.865 ms [8.718 ms, 9.012 ms] 4.549 ms (105.4%)
tracing 7.9 ms [7.787 ms, 8.014 ms] 3.584 ms (83.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.371 ms [4.323 ms, 4.42 ms] -
iast 9.137 ms [8.986 ms, 9.287 ms] 4.766 ms (109.0%)
iast_FULL 13.731 ms [13.461 ms, 14.001 ms] 9.36 ms (214.1%)
iast_GLOBAL 10.362 ms [10.181 ms, 10.544 ms] 5.991 ms (137.1%)
profiling 8.699 ms [8.556 ms, 8.843 ms] 4.328 ms (99.0%)
tracing 7.436 ms [7.324 ms, 7.547 ms] 3.064 ms (70.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/css2
git_commit_date 1752084850 1752131308
git_commit_sha 89e92d5 005f711
release_version 1.52.0-SNAPSHOT~89e92d59f6 1.52.0-SNAPSHOT~005f71100e
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1752133385 1752133385
ci_job_id 1022164492 1022164492
ci_pipeline_id 70137463 70137463
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-606p4how 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-606p4how 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 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt title tomcat - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section baseline no_agent (1.478 ms) : 1466, 1489 . : milestone, 1478, appsec (2.42 ms) : 2369, 2470 . : milestone, 2420, iast (2.198 ms) : 2134, 2261 . : milestone, 2198, iast_GLOBAL (2.25 ms) : 2187, 2313 . : milestone, 2250, profiling (2.068 ms) : 2016, 2120 . : milestone, 2068, tracing (2.024 ms) : 1975, 2073 . : milestone, 2024, section candidate no_agent (1.478 ms) : 1466, 1489 . : milestone, 1478, appsec (2.426 ms) : 2375, 2476 . : milestone, 2426, iast (2.197 ms) : 2134, 2260 . : milestone, 2197, iast_GLOBAL (2.251 ms) : 2188, 2314 . : milestone, 2251, profiling (2.051 ms) : 2000, 2103 . : milestone, 2051, tracing (2.023 ms) : 1975, 2072 . : milestone, 2023, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.466 ms, 1.489 ms] -
appsec 2.42 ms [2.369 ms, 2.47 ms] 941.855 µs (63.7%)
iast 2.198 ms [2.134 ms, 2.261 ms] 720.121 µs (48.7%)
iast_GLOBAL 2.25 ms [2.187 ms, 2.313 ms] 772.201 µs (52.3%)
profiling 2.068 ms [2.016 ms, 2.12 ms] 590.129 µs (39.9%)
tracing 2.024 ms [1.975 ms, 2.073 ms] 546.465 µs (37.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.466 ms, 1.489 ms] -
appsec 2.426 ms [2.375 ms, 2.476 ms] 948.399 µs (64.2%)
iast 2.197 ms [2.134 ms, 2.26 ms] 719.586 µs (48.7%)
iast_GLOBAL 2.251 ms [2.188 ms, 2.314 ms] 773.281 µs (52.3%)
profiling 2.051 ms [2.0 ms, 2.103 ms] 573.661 µs (38.8%)
tracing 2.023 ms [1.975 ms, 2.072 ms] 545.947 µs (37.0%)
Execution time for biojava
gantt title biojava - execution time [CI 0.99] : candidate=1.52.0-SNAPSHOT~005f71100e, baseline=1.52.0-SNAPSHOT~89e92d59f6 dateFormat X axisFormat %s section baseline no_agent (14.928 s) : 14928000, 14928000 . : milestone, 14928000, appsec (15.079 s) : 15079000, 15079000 . : milestone, 15079000, iast (18.546 s) : 18546000, 18546000 . : milestone, 18546000, iast_GLOBAL (18.246 s) : 18246000, 18246000 . : milestone, 18246000, profiling (15.116 s) : 15116000, 15116000 . : milestone, 15116000, tracing (14.677 s) : 14677000, 14677000 . : milestone, 14677000, section candidate no_agent (14.889 s) : 14889000, 14889000 . : milestone, 14889000, appsec (15.026 s) : 15026000, 15026000 . : milestone, 15026000, iast (18.385 s) : 18385000, 18385000 . : milestone, 18385000, iast_GLOBAL (18.232 s) : 18232000, 18232000 . : milestone, 18232000, profiling (15.317 s) : 15317000, 15317000 . : milestone, 15317000, tracing (14.878 s) : 14878000, 14878000 . : milestone, 14878000, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.928 s [14.928 s, 14.928 s] -
appsec 15.079 s [15.079 s, 15.079 s] 151.0 ms (1.0%)
iast 18.546 s [18.546 s, 18.546 s] 3.618 s (24.2%)
iast_GLOBAL 18.246 s [18.246 s, 18.246 s] 3.318 s (22.2%)
profiling 15.116 s [15.116 s, 15.116 s] 188.0 ms (1.3%)
tracing 14.677 s [14.677 s, 14.677 s] -251.0 ms (-1.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.889 s [14.889 s, 14.889 s] -
appsec 15.026 s [15.026 s, 15.026 s] 137.0 ms (0.9%)
iast 18.385 s [18.385 s, 18.385 s] 3.496 s (23.5%)
iast_GLOBAL 18.232 s [18.232 s, 18.232 s] 3.343 s (22.5%)
profiling 15.317 s [15.317 s, 15.317 s] 428.0 ms (2.9%)
tracing 14.878 s [14.878 s, 14.878 s] -11.0 ms (-0.1%)
@amarziali amarziali enabled auto-merge (squash) July 9, 2025 18:14
@amarziali amarziali force-pushed the andrea.marziali/css2 branch from a60b5ec to 7578162 Compare July 9, 2025 18:25
@amarziali amarziali force-pushed the andrea.marziali/css2 branch from 7578162 to bfc6609 Compare July 9, 2025 21:52
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

I would have gone with the holder pattern as doubled-check locking is definitely to easy to get wrong. But it should be better than the current implementation 👍

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

+1

re. holder pattern - since this construction takes arguments it's hard to apply the holder pattern, so in this case double-check locking makes sense

@amarziali amarziali merged commit 956f570 into master Jul 10, 2025
507 checks passed
@amarziali amarziali deleted the andrea.marziali/css2 branch July 10, 2025 08:47
@github-actions github-actions bot added this to the 1.52.0 milestone Jul 10, 2025
daniel-mohedano pushed a commit that referenced this pull request Jul 15, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Aug 5, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [redis.clients:jedis](https://github.com/redis/jedis) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.0.0` -> `6.1.0` | | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.59.2` -> `2.60.0` | | [com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.68.2` -> `2.69.0` | | [com.squareup.wire](https://github.com/square/wire) | plugin | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-schema](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-runtime](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-reflector](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-moshi-adapter](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-grpc-client](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.squareup.wire:wire-bom](https://github.com/square/wire) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `5.3.5` -> `5.3.6` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.51.2` -> `1.52.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.32.14` -> `2.32.15` | --- ### Release Notes <details> <summary>redis/jedis (redis.clients:jedis)</summary> ### [`v6.1.0`](https://github.com/redis/jedis/releases/tag/v6.1.0): 6.1.0 ### Changes #### 🚀 New Features - Add support for SVS-VAMANA vector indexing ([#&#8203;4222](redis/jedis#4222)) - Clarify why new stream entries aren't deleted with XDELEX ([#&#8203;4218](redis/jedis#4218)) - Add support for new stream commands ([#&#8203;4211](redis/jedis#4211)) - Add Support for New BITOP Operations in Redis 8.2 ([#&#8203;4188](redis/jedis#4188)) ([#&#8203;4190](redis/jedis#4190)) - Add binary stream support for XREAD and XREADGROUP ([#&#8203;3566](redis/jedis#3566)) ([#&#8203;4152](redis/jedis#4152)) - Run pipeline in current thread if all the keys on same node ([#&#8203;4149](redis/jedis#4149)) #### 🐛 Bug Fixes - Restore binary compatibility of SetParams ([#&#8203;4225](redis/jedis#4225)) - Fix memory leak in JedisClusterInfoCache - replica nodes not cleared ([#&#8203;4205](redis/jedis#4205)) - Fix:JedisCluster throws NullPointerException when maxAttempts is set to 0 ([#&#8203;4186](redis/jedis#4186)) #### 🧰 Maintenance - DOC-5471 time series doc examples ([#&#8203;4210](redis/jedis#4210)) - Bump jackson.version from 2.19.1 to 2.19.2 ([#&#8203;4208](redis/jedis#4208)) - Fix flaky test ClientCommandsTest.killSkipmeYesNo ([#&#8203;4206](redis/jedis#4206)) - Bump org.junit:junit-bom from 5.13.2 to 5.13.3 ([#&#8203;4198](redis/jedis#4198)) - Migrate publishing to Maven Central Portal ([#&#8203;4199](redis/jedis#4199)) - Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 ([#&#8203;4197](redis/jedis#4197)) - Bump org.junit:junit-bom from 5.13.1 to 5.13.2 ([#&#8203;4192](redis/jedis#4192)) - DOC-5227 added probabilistic data type examples ([#&#8203;4184](redis/jedis#4184)) - Bump jackson.version from 2.19.0 to 2.19.1 ([#&#8203;4180](redis/jedis#4180)) - Update test infra to use latest Redis ([#&#8203;4179](redis/jedis#4179)) - Bump org.junit:junit-bom from 5.13.0-RC1 to 5.13.1 ([#&#8203;4174](redis/jedis#4174)) - Bump org.json:json from [`2025010`](redis/jedis@20250107) to [`2025051`](redis/jedis@20250517) ([#&#8203;4171](redis/jedis#4171)) - Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.4.4 to 5.5 ([#&#8203;4170](redis/jedis#4170)) - Fix flaky tests in DocumentTest ([#&#8203;3617](redis/jedis#3617)) - Add retryable command execution example ([#&#8203;3780](redis/jedis#3780)) - Bump jackson.version from 2.18.3 to 2.19.0 ([#&#8203;4160](redis/jedis#4160)) - Bump com.google.code.gson:gson from 2.12.1 to 2.13.1 ([#&#8203;4161](redis/jedis#4161)) #### Contributors We'd like to thank all the contributors who worked on this release! [@&#8203;219sansim](https://github.com/219sansim), [@&#8203;YoHanKi](https://github.com/YoHanKi), [@&#8203;andy-stark-redis](https://github.com/andy-stark-redis), [@&#8203;ggivo](https://github.com/ggivo), [@&#8203;jujn](https://github.com/jujn), [@&#8203;thachlp](https://github.com/thachlp), [@&#8203;uglide](https://github.com/uglide) and [@&#8203;xrayw](https://github.com/xrayw) </details> <details> <summary>googleapis/sdk-platform-java (com.google.api.grpc:proto-google-common-protos)</summary> ### [`v2.60.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2600-2025-06-23) ##### Features - handle auto pagination for BigQuery v2 ([#&#8203;3829](googleapis/sdk-platform-java#3829)) ([025c84c](googleapis/sdk-platform-java@025c84c)) ##### Dependencies - update google auth library dependencies to v1.37.1 ([#&#8203;3846](googleapis/sdk-platform-java#3846)) ([ea1d9e5](googleapis/sdk-platform-java@ea1d9e5)) - update google http client dependencies to v1.47.1 ([#&#8203;3848](googleapis/sdk-platform-java#3848)) ([a9a39d7](googleapis/sdk-platform-java@a9a39d7)) </details> <details> <summary>square/wire (com.squareup.wire)</summary> ### [`v5.3.6`](https://github.com/square/wire/blob/HEAD/CHANGELOG.md#Version-536) [Compare Source](square/wire@5.3.5...5.3.6) *2025-08-05* ##### CLI - New CLI option `--ignore_unused_roots_and_prunes` ([#&#8203;3354](square/wire#3354)) ##### JVM - Fix: Handle negative hexadecimal in default values ([#&#8203;3355](square/wire#3355)) - Optimization: Avoid copying of repeated and map types when mutableTypes are being used ([#&#8203;3352](square/wire#3352) by \[Rahul Ravikumar]\[tikurahul]) ##### Swift - Fix: Properly disambiguate OneOf enum if it has the same name as enclosing type ([#&#8203;3350](square/wire#3350) by \[Dimitris Koutsogiorgas]\[dnkoutso]) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.52.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.52.0): 1.52.0 ### Components #### Application Security Management (WAF) - ✨ Only report ASM\_DD, ASM\_DATA and ASM capabilities when AppSec is enabled ([#&#8203;9260](DataDog/dd-trace-java#9260) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix NPE in AppSecConfigServiceImpl ([#&#8203;9165](DataDog/dd-trace-java#9165) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#&#8203;9160](DataDog/dd-trace-java#9160) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Build & Tooling - ✨📖 Automatically register crashtracking via native extensions ([#&#8203;8851](DataDog/dd-trace-java#8851) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Configuration at Runtime - ✨ Create activation origin config for telemetry ([#&#8203;9064](DataDog/dd-trace-java#9064) - [@&#8203;sezen-datadog](https://github.com/sezen-datadog)) #### Continuous Integration Visibility - ✨ Update GitLab provided tags ([#&#8203;9275](DataDog/dd-trace-java#9275) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Fix base branch SHA usage in GitHub Actions ([#&#8203;9257](DataDog/dd-trace-java#9257) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add `ci.job.id` tag ([#&#8203;9256](DataDog/dd-trace-java#9256) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Add new org to Weaver instrumentation ([#&#8203;9235](DataDog/dd-trace-java#9235) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano) - thanks for the contribution!) - ✨ Improve Git commit info building ([#&#8203;9210](DataDog/dd-trace-java#9210) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Update Attempt to Fix to v5 ([#&#8203;9145](DataDog/dd-trace-java#9145) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - ✨📖 Automatically register crashtracking via native extensions ([#&#8203;8851](DataDog/dd-trace-java#8851) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Data Streams Monitoring - ✨ Reduce DSM CPU overheard ([#&#8203;9151](DataDog/dd-trace-java#9151) - [@&#8203;kr-igor](https://github.com/kr-igor)) - ✨⚡ DSM optimizations for high throughput scenarios ([#&#8203;9137](DataDog/dd-trace-java#9137) - [@&#8203;kr-igor](https://github.com/kr-igor)) #### Database Monitoring - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#&#8203;9224](DataDog/dd-trace-java#9224) - [@&#8203;lu-zhengda](https://github.com/lu-zhengda)) #### Dynamic Instrumentation - 🐛 Add URI in string primitives ([#&#8203;9285](DataDog/dd-trace-java#9285) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Increase SourceFile tracking max queue size ([#&#8203;9271](DataDog/dd-trace-java#9271) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add capping on SourceFile tracking queue ([#&#8203;9245](DataDog/dd-trace-java#9245) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add third-party filtering in SourceFile tracking ([#&#8203;9205](DataDog/dd-trace-java#9205) - [@&#8203;jpbempel](https://github.com/jpbempel)) #### ML Observability (LLMObs) - ✨ Add methods to capture embedding and retrieval spans ([#&#8203;9297](DataDog/dd-trace-java#9297) - [@&#8203;nayeem-kamal](https://github.com/nayeem-kamal)) #### Metrics - ✨ Change primary client stats configuration key ([#&#8203;9196](DataDog/dd-trace-java#9196) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Calculate client stats also if the span kind is eligible ([#&#8203;9157](DataDog/dd-trace-java#9157) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Backpropagate peer tags ([#&#8203;9144](DataDog/dd-trace-java#9144) - [@&#8203;bric3](https://github.com/bric3)) - 🐛 Make client stats reliable in case of downgrade ([#&#8203;9136](DataDog/dd-trace-java#9136) - [@&#8203;amarziali](https://github.com/amarziali)) #### Platform components - 🐛 Fix VM options parsing from /proc/fs ([#&#8203;9255](DataDog/dd-trace-java#9255) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) #### Profiling - ✨ Switch profile compression to zstd default ([#&#8203;9293](DataDog/dd-trace-java#9293) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.29.0 ([#&#8203;9262](DataDog/dd-trace-java#9262) - [@&#8203;zhengyu123](https://github.com/zhengyu123)) - Potential memory leak and race with the JVMTI wallclock sampler by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#234 - Downport async-profiler no-allocation changes by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#245 - Adopt openjdk safefetch by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#246 - Safe fetch 64-bit value and pointer by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#247 - Rebase on Async-Profiler 4.1 by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#252 - Patch upstream stackWalker.cpp not to fail on unaligned access by [@&#8203;jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#218 - Remap thread id to avoid bitmap contention by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#229 - Improve performance using Unsafe to activate/deactivate thread filter by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#230 - Unify context propagation by [@&#8203;zhengyu123](https://github.com/zhengyu123) in DataDog/java-profiler#231 - 🐛 Fix the profiler stackdepth setting propagation in recent (22+) Java versions ([#&#8203;9130](DataDog/dd-trace-java#9130) - [@&#8203;jbachorik](https://github.com/jbachorik)) #### Realtime User Monitoring - ✨ Wrap servlet original PrintWriter on rum injector ([#&#8203;9146](DataDog/dd-trace-java#9146) - [@&#8203;amarziali](https://github.com/amarziali)) #### Telemetry - ✨ Create activation origin config for telemetry ([#&#8203;9064](DataDog/dd-trace-java#9064) - [@&#8203;sezen-datadog](https://github.com/sezen-datadog)) #### Tracer core - ✨⚡ Reduce span construction overhead by switching to optimized TagMap ([#&#8203;8589](DataDog/dd-trace-java#8589) - [@&#8203;dougqh](https://github.com/dougqh)) - 🐛 Match Hands Off Config selectors on process\_arguments value ([#&#8203;9201](DataDog/dd-trace-java#9201) - [@&#8203;paullegranddc](https://github.com/paullegranddc)) - ✨ Move JSON generation to sender thread to improve startup time. ([#&#8203;9197](DataDog/dd-trace-java#9197) - [@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - ✨ Improve agent to avoid loading global config on main thread ([#&#8203;9190](DataDog/dd-trace-java#9190) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) - ✨ add injection metadata fields to telemetry forwarder ([#&#8203;9185](DataDog/dd-trace-java#9185) - [@&#8203;sydney-tung](https://github.com/sydney-tung)) - 🐛 Avoid race conditions on feature discovery during Writer creation ([#&#8203;9173](DataDog/dd-trace-java#9173) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Surface potential root cause when agent initialization errors ([#&#8203;9170](DataDog/dd-trace-java#9170) - [@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD)) - 💡 Support adding W3C baggage as span tags ([#&#8203;9169](DataDog/dd-trace-java#9169) - [@&#8203;rachelyangdog](https://github.com/rachelyangdog)) - ✨⚡ Align our default classloader excludes with OTel ([#&#8203;9161](DataDog/dd-trace-java#9161) - [@&#8203;mcculls](https://github.com/mcculls)) - ✨ Backpropagate container tags hash coming from the info endpoint ([#&#8203;9156](DataDog/dd-trace-java#9156) - [@&#8203;amarziali](https://github.com/amarziali)) - 🐛 Avoid race conditions and multiple agent discovery feature states ([#&#8203;9135](DataDog/dd-trace-java#9135) - [@&#8203;amarziali](https://github.com/amarziali)) ### Instrumentations #### AWS SDK instrumentation - ✨ Enhance Service Representation for Serverless ([#&#8203;9203](DataDog/dd-trace-java#9203) - [@&#8203;zarirhamza](https://github.com/zarirhamza)) #### gRPC instrumentation - 🐛 Add check to prevent injection of repeated GRPC headers ([#&#8203;9246](DataDog/dd-trace-java#9246) - [@&#8203;mhlidd](https://github.com/mhlidd)) #### JDBC instrumentation - 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode ([#&#8203;9224](DataDog/dd-trace-java#9224) - [@&#8203;lu-zhengda](https://github.com/lu-zhengda)) #### Play Framework instrumentation - 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 ([#&#8203;9160](DataDog/dd-trace-java#9160) - [@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 9da36329ffa552291a640381780b608ef6513e29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core type: bug Bug report and fix

3 participants