Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-use javax JMS module for jakarta namespace #8155

Merged
merged 2 commits into from
Jan 6, 2025

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Jan 4, 2025

What Does This Do

Uses the new support for instrumentation of repackaged libraries to re-use the javax JMS module for jakarta.

Motivation

Reduces code duplication without reducing instrumentation coverage.

Contributor Checklist

Jira ticket: APMAPI-860

@mcculls mcculls added type: refactoring inst: jms JMS instrumentation labels Jan 4, 2025
@mcculls mcculls force-pushed the mcculls/javax-jms-module branch from c93097f to a38fa07 Compare January 5, 2025 15:21
@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from 5dac484 to b38aea5 Compare January 5, 2025 15:25
@mcculls mcculls force-pushed the mcculls/javax-jms-module branch from a38fa07 to 7b079e1 Compare January 5, 2025 15:57
@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from b38aea5 to 51415b5 Compare January 5, 2025 15:58
@pr-commenter
Copy link

pr-commenter bot commented Jan 5, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/dedup-jms-instrumentations
git_commit_date 1736152625 1736153914
git_commit_sha 6bfef97 fef160a
release_version 1.45.0-SNAPSHOT~6bfef97d85 1.45.0-SNAPSHOT~fef160ad5a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736156392 1736156392
ci_job_id 755028014 755028014
ci_pipeline_id 52203472 52203472
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.067 s) : 0, 1066884
Total [baseline] (10.511 s) : 0, 10510737
Agent [candidate] (1.066 s) : 0, 1066467
Total [candidate] (10.46 s) : 0, 10460012
section appsec
Agent [baseline] (1.187 s) : 0, 1186505
Total [baseline] (10.775 s) : 0, 10775047
Agent [candidate] (1.188 s) : 0, 1187634
Total [candidate] (10.725 s) : 0, 10724907
section iast
Agent [baseline] (1.179 s) : 0, 1178619
Total [baseline] (10.945 s) : 0, 10945397
Agent [candidate] (1.179 s) : 0, 1178954
Total [candidate] (10.951 s) : 0, 10951426
section profiling
Agent [baseline] (1.282 s) : 0, 1281958
Total [baseline] (10.787 s) : 0, 10786833
Agent [candidate] (1.275 s) : 0, 1275221
Total [candidate] (10.814 s) : 0, 10814196
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.067 s -
Agent appsec 1.187 s 119.621 ms (11.2%)
Agent iast 1.179 s 111.736 ms (10.5%)
Agent profiling 1.282 s 215.075 ms (20.2%)
Total tracing 10.511 s -
Total appsec 10.775 s 264.31 ms (2.5%)
Total iast 10.945 s 434.66 ms (4.1%)
Total profiling 10.787 s 276.096 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.188 s 121.168 ms (11.4%)
Agent iast 1.179 s 112.488 ms (10.5%)
Agent profiling 1.275 s 208.754 ms (19.6%)
Total tracing 10.46 s -
Total appsec 10.725 s 264.895 ms (2.5%)
Total iast 10.951 s 491.414 ms (4.7%)
Total profiling 10.814 s 354.184 ms (3.4%)
gantt
    title petclinic - break down per module: candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.742 ms) : 0, 719742
BytebuddyAgent [candidate] (718.675 ms) : 0, 718675
GlobalTracer [baseline] (259.676 ms) : 0, 259676
GlobalTracer [candidate] (259.409 ms) : 0, 259409
AppSec [baseline] (56.744 ms) : 0, 56744
AppSec [candidate] (55.886 ms) : 0, 55886
Remote Config [baseline] (734.299 µs) : 0, 734
Remote Config [candidate] (742.257 µs) : 0, 742
Telemetry [baseline] (14.861 ms) : 0, 14861
Telemetry [candidate] (16.488 ms) : 0, 16488
section appsec
BytebuddyAgent [baseline] (729.876 ms) : 0, 729876
BytebuddyAgent [candidate] (729.905 ms) : 0, 729905
GlobalTracer [baseline] (252.484 ms) : 0, 252484
GlobalTracer [candidate] (253.421 ms) : 0, 253421
AppSec [baseline] (170.541 ms) : 0, 170541
AppSec [candidate] (170.254 ms) : 0, 170254
Remote Config [baseline] (663.438 µs) : 0, 663
Remote Config [candidate] (671.303 µs) : 0, 671
Telemetry [baseline] (7.935 ms) : 0, 7935
Telemetry [candidate] (8.669 ms) : 0, 8669
IAST [baseline] (20.134 ms) : 0, 20134
IAST [candidate] (19.353 ms) : 0, 19353
section iast
BytebuddyAgent [baseline] (829.863 ms) : 0, 829863
BytebuddyAgent [candidate] (829.279 ms) : 0, 829279
GlobalTracer [baseline] (245.985 ms) : 0, 245985
GlobalTracer [candidate] (246.473 ms) : 0, 246473
AppSec [baseline] (56.927 ms) : 0, 56927
AppSec [candidate] (57.957 ms) : 0, 57957
Remote Config [baseline] (660.222 µs) : 0, 660
Remote Config [candidate] (662.639 µs) : 0, 663
Telemetry [baseline] (8.415 ms) : 0, 8415
Telemetry [candidate] (8.407 ms) : 0, 8407
IAST [baseline] (21.789 ms) : 0, 21789
IAST [candidate] (21.108 ms) : 0, 21108
section profiling
ProfilingAgent [baseline] (96.33 ms) : 0, 96330
ProfilingAgent [candidate] (95.786 ms) : 0, 95786
BytebuddyAgent [baseline] (707.35 ms) : 0, 707350
BytebuddyAgent [candidate] (702.271 ms) : 0, 702271
GlobalTracer [baseline] (373.182 ms) : 0, 373182
GlobalTracer [candidate] (372.853 ms) : 0, 372853
AppSec [baseline] (54.469 ms) : 0, 54469
AppSec [candidate] (53.99 ms) : 0, 53990
Remote Config [baseline] (668.383 µs) : 0, 668
Remote Config [candidate] (661.518 µs) : 0, 662
Telemetry [baseline] (7.881 ms) : 0, 7881
Telemetry [candidate] (7.865 ms) : 0, 7865
Profiling [baseline] (96.356 ms) : 0, 96356
Profiling [candidate] (95.81 ms) : 0, 95810
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1062763
Total [baseline] (8.615 s) : 0, 8615495
Agent [candidate] (1.058 s) : 0, 1057618
Total [candidate] (8.619 s) : 0, 8618663
section iast
Agent [baseline] (1.18 s) : 0, 1180040
Total [baseline] (9.177 s) : 0, 9177311
Agent [candidate] (1.181 s) : 0, 1181361
Total [candidate] (9.198 s) : 0, 9198150
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.182 s) : 0, 1181741
Total [baseline] (9.21 s) : 0, 9209633
Agent [candidate] (1.183 s) : 0, 1182571
Total [candidate] (9.156 s) : 0, 9156018
section iast_TELEMETRY_OFF
Agent [baseline] (1.178 s) : 0, 1177776
Total [baseline] (9.171 s) : 0, 9171380
Agent [candidate] (1.176 s) : 0, 1176464
Total [candidate] (9.193 s) : 0, 9192846
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent iast 1.18 s 117.277 ms (11.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.182 s 118.978 ms (11.2%)
Agent iast_TELEMETRY_OFF 1.178 s 115.013 ms (10.8%)
Total tracing 8.615 s -
Total iast 9.177 s 561.816 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.21 s 594.138 ms (6.9%)
Total iast_TELEMETRY_OFF 9.171 s 555.885 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.181 s 123.743 ms (11.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.183 s 124.953 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.176 s 118.846 ms (11.2%)
Total tracing 8.619 s -
Total iast 9.198 s 579.487 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.156 s 537.355 ms (6.2%)
Total iast_TELEMETRY_OFF 9.193 s 574.183 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (718.849 ms) : 0, 718849
BytebuddyAgent [candidate] (715.158 ms) : 0, 715158
GlobalTracer [baseline] (256.564 ms) : 0, 256564
GlobalTracer [candidate] (256.577 ms) : 0, 256577
AppSec [baseline] (56.072 ms) : 0, 56072
AppSec [candidate] (55.336 ms) : 0, 55336
Remote Config [baseline] (713.557 µs) : 0, 714
Remote Config [candidate] (723.454 µs) : 0, 723
Telemetry [baseline] (15.389 ms) : 0, 15389
Telemetry [candidate] (14.777 ms) : 0, 14777
section iast
BytebuddyAgent [baseline] (830.123 ms) : 0, 830123
BytebuddyAgent [candidate] (830.932 ms) : 0, 830932
GlobalTracer [baseline] (246.518 ms) : 0, 246518
GlobalTracer [candidate] (246.888 ms) : 0, 246888
AppSec [baseline] (58.025 ms) : 0, 58025
AppSec [candidate] (58.212 ms) : 0, 58212
IAST [baseline] (21.204 ms) : 0, 21204
IAST [candidate] (21.087 ms) : 0, 21087
Remote Config [baseline] (667.911 µs) : 0, 668
Remote Config [candidate] (653.702 µs) : 0, 654
Telemetry [baseline] (8.529 ms) : 0, 8529
Telemetry [candidate] (8.452 ms) : 0, 8452
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (830.576 ms) : 0, 830576
BytebuddyAgent [candidate] (829.838 ms) : 0, 829838
GlobalTracer [baseline] (246.99 ms) : 0, 246990
GlobalTracer [candidate] (248.371 ms) : 0, 248371
AppSec [baseline] (58.368 ms) : 0, 58368
AppSec [candidate] (58.658 ms) : 0, 58658
IAST [baseline] (21.632 ms) : 0, 21632
IAST [candidate] (21.367 ms) : 0, 21367
Remote Config [baseline] (662.462 µs) : 0, 662
Remote Config [candidate] (680.535 µs) : 0, 681
Telemetry [baseline] (8.547 ms) : 0, 8547
Telemetry [candidate] (8.542 ms) : 0, 8542
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (828.321 ms) : 0, 828321
BytebuddyAgent [candidate] (827.535 ms) : 0, 827535
GlobalTracer [baseline] (247.098 ms) : 0, 247098
GlobalTracer [candidate] (246.255 ms) : 0, 246255
AppSec [baseline] (57.56 ms) : 0, 57560
AppSec [candidate] (58.015 ms) : 0, 58015
IAST [baseline] (20.771 ms) : 0, 20771
IAST [candidate] (20.75 ms) : 0, 20750
Remote Config [baseline] (641.817 µs) : 0, 642
Remote Config [candidate] (634.938 µs) : 0, 635
Telemetry [baseline] (8.366 ms) : 0, 8366
Telemetry [candidate] (8.29 ms) : 0, 8290
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-06T09:10:13 2025-01-06T09:17:14
git_branch master mcculls/dedup-jms-instrumentations
git_commit_date 1736152625 1736153914
git_commit_sha 6bfef97 fef160a
release_version 1.45.0-SNAPSHOT~6bfef97d85 1.45.0-SNAPSHOT~fef160ad5a
start_time 2025-01-06T09:09:59 2025-01-06T09:17:00
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736155390 1736155390
ci_job_id 755028015 755028015
ci_pipeline_id 52203472 52203472
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.369 ms) : 1349, 1389
.   : milestone, 1369,
appsec (1.764 ms) : 1740, 1788
.   : milestone, 1764,
appsec_no_iast (1.771 ms) : 1748, 1794
.   : milestone, 1771,
iast (1.517 ms) : 1494, 1540
.   : milestone, 1517,
profiling (1.548 ms) : 1522, 1573
.   : milestone, 1548,
tracing (1.498 ms) : 1473, 1523
.   : milestone, 1498,
section candidate
no_agent (1.367 ms) : 1346, 1387
.   : milestone, 1367,
appsec (1.766 ms) : 1743, 1790
.   : milestone, 1766,
appsec_no_iast (1.769 ms) : 1744, 1795
.   : milestone, 1769,
iast (1.512 ms) : 1489, 1534
.   : milestone, 1512,
profiling (1.552 ms) : 1528, 1576
.   : milestone, 1552,
tracing (1.504 ms) : 1479, 1528
.   : milestone, 1504,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.369 ms [1.349 ms, 1.389 ms] -
appsec 1.764 ms [1.74 ms, 1.788 ms] 394.889 µs (28.8%)
appsec_no_iast 1.771 ms [1.748 ms, 1.794 ms] 402.069 µs (29.4%)
iast 1.517 ms [1.494 ms, 1.54 ms] 148.057 µs (10.8%)
profiling 1.548 ms [1.522 ms, 1.573 ms] 178.642 µs (13.0%)
tracing 1.498 ms [1.473 ms, 1.523 ms] 129.152 µs (9.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.367 ms [1.346 ms, 1.387 ms] -
appsec 1.766 ms [1.743 ms, 1.79 ms] 399.879 µs (29.3%)
appsec_no_iast 1.769 ms [1.744 ms, 1.795 ms] 402.919 µs (29.5%)
iast 1.512 ms [1.489 ms, 1.534 ms] 145.144 µs (10.6%)
profiling 1.552 ms [1.528 ms, 1.576 ms] 185.244 µs (13.6%)
tracing 1.504 ms [1.479 ms, 1.528 ms] 137.011 µs (10.0%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.45.0-SNAPSHOT~fef160ad5a, baseline=1.45.0-SNAPSHOT~6bfef97d85
    dateFormat X
    axisFormat %s
section baseline
no_agent (384.629 µs) : 365, 405
.   : milestone, 385,
iast (507.741 µs) : 485, 530
.   : milestone, 508,
iast_FULL (663.289 µs) : 642, 685
.   : milestone, 663,
iast_GLOBAL (521.137 µs) : 500, 542
.   : milestone, 521,
iast_HARDCODED_SECRET_DISABLED (501.509 µs) : 480, 523
.   : milestone, 502,
iast_INACTIVE (458.631 µs) : 437, 480
.   : milestone, 459,
iast_TELEMETRY_OFF (494.329 µs) : 472, 516
.   : milestone, 494,
tracing (452.185 µs) : 430, 474
.   : milestone, 452,
section candidate
no_agent (376.237 µs) : 357, 396
.   : milestone, 376,
iast (499.488 µs) : 478, 521
.   : milestone, 499,
iast_FULL (656.212 µs) : 635, 678
.   : milestone, 656,
iast_GLOBAL (526.265 µs) : 505, 548
.   : milestone, 526,
iast_HARDCODED_SECRET_DISABLED (499.879 µs) : 478, 522
.   : milestone, 500,
iast_INACTIVE (462.544 µs) : 441, 484
.   : milestone, 463,
iast_TELEMETRY_OFF (493.723 µs) : 472, 516
.   : milestone, 494,
tracing (455.661 µs) : 434, 478
.   : milestone, 456,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 384.629 µs [364.743 µs, 404.516 µs] -
iast 507.741 µs [485.27 µs, 530.213 µs] 123.112 µs (32.0%)
iast_FULL 663.289 µs [641.793 µs, 684.786 µs] 278.66 µs (72.4%)
iast_GLOBAL 521.137 µs [499.786 µs, 542.487 µs] 136.507 µs (35.5%)
iast_HARDCODED_SECRET_DISABLED 501.509 µs [479.774 µs, 523.244 µs] 116.88 µs (30.4%)
iast_INACTIVE 458.631 µs [437.303 µs, 479.959 µs] 74.002 µs (19.2%)
iast_TELEMETRY_OFF 494.329 µs [472.165 µs, 516.492 µs] 109.699 µs (28.5%)
tracing 452.185 µs [430.057 µs, 474.314 µs] 67.556 µs (17.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 376.237 µs [356.638 µs, 395.836 µs] -
iast 499.488 µs [477.719 µs, 521.258 µs] 123.252 µs (32.8%)
iast_FULL 656.212 µs [634.616 µs, 677.809 µs] 279.975 µs (74.4%)
iast_GLOBAL 526.265 µs [504.543 µs, 547.987 µs] 150.028 µs (39.9%)
iast_HARDCODED_SECRET_DISABLED 499.879 µs [478.126 µs, 521.633 µs] 123.643 µs (32.9%)
iast_INACTIVE 462.544 µs [440.821 µs, 484.267 µs] 86.307 µs (22.9%)
iast_TELEMETRY_OFF 493.723 µs [471.695 µs, 515.75 µs] 117.486 µs (31.2%)
tracing 455.661 µs [433.749 µs, 477.572 µs] 79.424 µs (21.1%)

Dacapo

@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from 51415b5 to 6e89b18 Compare January 5, 2025 17:13
@mcculls mcculls marked this pull request as ready for review January 5, 2025 19:27
@mcculls mcculls requested a review from a team as a code owner January 5, 2025 19:27
@mcculls mcculls requested a review from amarziali January 5, 2025 19:27
@mcculls mcculls force-pushed the mcculls/javax-jms-module branch from 7b079e1 to 066251a Compare January 5, 2025 21:59
@mcculls mcculls requested a review from a team as a code owner January 5, 2025 21:59
@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from 6e89b18 to 18f0e95 Compare January 5, 2025 21:59
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.

Nice improvement! What are the other instrumentations that could benefit from such refactoring?

@@ -0,0 +1,24 @@
package datadog.trace.instrumentation.jms;
Copy link
Contributor

Choose a reason for hiding this comment

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

Quick question: why did the module ended up in instrumentation.jms instead of the original instrumentation.jakarta.jms that matched the instrumentation name?

Copy link
Contributor Author

@mcculls mcculls Jan 6, 2025

Choose a reason for hiding this comment

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

Historical - the original module being sub-classed uses a helper field called packageName to find its advice and this field is initialized to the package of the current class. If we kept this module in a different package then its packageName value would be different, and the advice would not be found.

We've had the same issue when extending instrumentations in the past - if the super-class refers to advice using packageName then the sub-class must be in the same package.

But this is more an issue of how historically we've packaged advice as inner types, when we move away from that then this packageName issue will go away.

@amarziali
Copy link
Collaborator

What are the other instrumentations that could benefit from such refactoring?

IMHO jaxrs, jaxws and servlet (which is not really implemented for jakarta) are next in that list

@mcculls mcculls force-pushed the mcculls/javax-jms-module branch from 066251a to 35d6fa0 Compare January 6, 2025 08:57
@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from 18f0e95 to fef160a Compare January 6, 2025 08:58
Base automatically changed from mcculls/javax-jms-module to master January 6, 2025 10:03
@mcculls mcculls force-pushed the mcculls/dedup-jms-instrumentations branch from fef160a to 8aa6562 Compare January 6, 2025 10:05
@mcculls mcculls enabled auto-merge (squash) January 6, 2025 10:05
@mcculls mcculls added tag: no release notes Changes to exclude from release notes and removed tag: no release notes Changes to exclude from release notes labels Jan 6, 2025
@mcculls mcculls merged commit 0c2f7ff into master Jan 6, 2025
147 of 148 checks passed
@mcculls mcculls deleted the mcculls/dedup-jms-instrumentations branch January 6, 2025 10:40
@github-actions github-actions bot added this to the 1.45.0 milestone Jan 6, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 9, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.50.0` -> `2.50.1` |
|
[com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
|
[com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.59.0` -> `2.59.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |

---

### Release Notes

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.45.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.45.0):
1.45.0

##### Breaking changes

> \[!WARNING]\
> Support for custom scope manager using OpenTelemetry tracer artifact
(`dd-trace-ot`) is dropped.
> Tracing with OpenTracing API and custom scope manager will continue to
work on 1.44.x releases.

##### Components

##### Application Security Management (IAST)

- ✨ Add propagation to URI#toURL method
([#&#8203;8146](DataDog/dd-trace-java#8146) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Increase IAST propagation to StringBuilder setLength
([#&#8203;8119](DataDog/dd-trace-java#8119) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuffer append
([#&#8203;8082](DataDog/dd-trace-java#8082) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Handle IAST security controls custom validation and
sanitization methods
([#&#8203;7997](DataDog/dd-trace-java#7997) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Application Security Management (WAF)

- ✨ Update user lifecycle tracking to V3
([#&#8203;8108](DataDog/dd-trace-java#8108) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Exploit prevention for Shell Injection / Command Injection
([#&#8203;7615](DataDog/dd-trace-java#7615) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 💡 Support instrumentation of repackaged libraries
([#&#8203;8153](DataDog/dd-trace-java#8153) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Database Monitoring

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Dynamic Instrumentation

- 🐛 make local var hoisting disabled by default
([#&#8203;8158](DataDog/dd-trace-java#8158) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix var hoisting issue when no previous store
([#&#8203;8122](DataDog/dd-trace-java#8122) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Only decorate spans without code origin information
([#&#8203;8105](DataDog/dd-trace-java#8105) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix suspend Kotlin methods instrumentation
([#&#8203;8080](DataDog/dd-trace-java#8080) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix class file version detection
([#&#8203;8057](DataDog/dd-trace-java#8057) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### GraalVM native-image

- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### ML Observability (LLMObs)

- ✨🧪 Add LLMObs configuration
([#&#8203;8076](DataDog/dd-trace-java#8076) -
[@&#8203;gary-huang](https://github.com/gary-huang))

##### Metrics

- Bump integrations-core submodule to 7.60.0
([#&#8203;8098](DataDog/dd-trace-java#8098) -
[@&#8203;mcculls](https://github.com/mcculls))
- Upgrade to java-dogstatsd-client v4.4.3
([#&#8203;8096](DataDog/dd-trace-java#8096) -
[@&#8203;mcculls](https://github.com/mcculls))

##### OpenTracing

- ⚠️🧹 Remove custom scope manager support
([#&#8203;8164](DataDog/dd-trace-java#8164) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Telemetry

- ✨ Retry telemetry requests if CI Visibility is enabled
([#&#8203;8147](DataDog/dd-trace-java#8147) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add configurable Dependency service resolution period
([#&#8203;8079](DataDog/dd-trace-java#8079) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Testing

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Tracer core

- ✨ Defer remote components to avoid OkHttp class-loading
side-effects
([#&#8203;8131](DataDog/dd-trace-java#8131) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improve Context API null handling and Javadoc
([#&#8203;8129](DataDog/dd-trace-java#8129) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🐛⚡ Avoid performing blocking I/O operation on application
thread
([#&#8203;8120](DataDog/dd-trace-java#8120) -
[@&#8203;mcculls](https://github.com/mcculls))
- 💡 Introduce a shared context component, independent of tracing
([#&#8203;8117](DataDog/dd-trace-java#8117) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improves ServiceNameCollector
([#&#8203;8109](DataDog/dd-trace-java#8109) -
[@&#8203;amarziali](https://github.com/amarziali))
- Upgrade to ASM 9.7.1 (adds new constant for Java 24)
([#&#8203;8097](DataDog/dd-trace-java#8097) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Dynamically evaluate service name for message consumers
([#&#8203;8088](DataDog/dd-trace-java#8088) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Serverless

- 🐛 Add avoid double instrumenting lambda non-streaming handlers.
([#&#8203;8073](DataDog/dd-trace-java#8073) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### Instrumentations

##### AWS SDK instrumentation

- 💡 Instrument EMR's relocated AWS SDK
([#&#8203;8157](DataDog/dd-trace-java#8157) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Eclipse Vert.x instrumentation

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### JDBC instrumentation

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Jetty instrumentation

- 🐛 Ensure jetty 12 has servlet.path starting with /
([#&#8203;8093](DataDog/dd-trace-java#8093) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

##### JMS instrumentation

- 🧹 Re-use `javax` JMS module for `jakarta` namespace
([#&#8203;8155](DataDog/dd-trace-java#8155) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Group `javax.jms` instrumentations under a single module
([#&#8203;8154](DataDog/dd-trace-java#8154) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Reactor instrumentation

- 🐛 Reactor: early propagate span in context when subscribing
([#&#8203;8166](DataDog/dd-trace-java#8166) -
[@&#8203;amarziali](https://github.com/amarziali))

</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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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: ba2355aa4e2e39ab1fee27319cc4176238efd90b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants