Skip to content

Extract git tags from embedded git.properties and datadog_git.properties #8561

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

Merged
merged 5 commits into from
Mar 27, 2025

Conversation

wmouchere
Copy link
Contributor

@wmouchere wmouchere commented Mar 14, 2025

What Does This Do

This PR re-enables the EmbeddedGitProvider created in #4951. This GitInfo provider originally read potential git.properties files in the system classpath, which might be tainted by dependencies.
This PR instead reads the git.properties file in other locations, which are not subject to conflicts with the dependencies. In particular, for Spring Boot fat jars and wars we can trust BOOT-INF/classes/git.properties and WEB-INF/classes/git.properties.
This PR also adds reading from datadog_git.properties as a way to avoid potential git.properties files in dependencies, as a last resort after trying the Spring Boot paths. We'll provide onboarding documentation so that users can generate this file in their gradle or maven builds.
The EmbeddedGitProvider is only enabled when we're not in the context of tracing CI Visibility test, where it's crucial not to report incorrect GitInfo for billing reasons.

The obtained metadata is then used the following way:

  • when trace telemetry is sent, the metadata is added to the first span of each trace
  • when profile telemetry is sent, the metadata is added to each profile

Motivation

It's crucial for Source Code Integration that customers correctly report the repository and sha that were used to build an app, so that we can link traces to source code. Currently we only support environment variables in Java, which is a blocker to adoption. We expect that developer will feel more empowered to modify their build files than their deployment pipelines.

Additional Notes

You'll find details about my explorations around the location of the git.properties file in different context in a doc linked in the JIRA card.

Contributor Checklist

Jira ticket: SCICM-3958

@pr-commenter
Copy link

pr-commenter bot commented Mar 14, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master william.mouchere/embedded-gitinfo-spring
git_commit_date 1742990727 1743064327
git_commit_sha 3e2867a d63f220
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~d63f22047a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743067462 1743067462
ci_job_id 867265395 867265395
ci_pipeline_id 60141857 60141857
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-3yvggzrb-project-304-concurrent-0-r0xx12hx 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-3yvggzrb-project-304-concurrent-0-r0xx12hx 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053771
Total [baseline] (8.704 s) : 0, 8704150
Agent [candidate] (1.051 s) : 0, 1050978
Total [candidate] (8.67 s) : 0, 8669524
section iast
Agent [baseline] (1.188 s) : 0, 1188360
Total [baseline] (9.247 s) : 0, 9246742
Agent [candidate] (1.176 s) : 0, 1175896
Total [candidate] (9.221 s) : 0, 9221451
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.189 s) : 0, 1189370
Total [baseline] (9.301 s) : 0, 9301096
Agent [candidate] (1.178 s) : 0, 1177783
Total [candidate] (9.25 s) : 0, 9250259
section iast_TELEMETRY_OFF
Agent [baseline] (1.188 s) : 0, 1188173
Total [baseline] (9.33 s) : 0, 9330062
Agent [candidate] (1.177 s) : 0, 1176666
Total [candidate] (9.255 s) : 0, 9254993
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.188 s 134.589 ms (12.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.189 s 135.599 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.188 s 134.402 ms (12.8%)
Total tracing 8.704 s -
Total iast 9.247 s 542.592 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.301 s 596.946 ms (6.9%)
Total iast_TELEMETRY_OFF 9.33 s 625.912 ms (7.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.051 s -
Agent iast 1.176 s 124.917 ms (11.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.178 s 126.804 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.177 s 125.688 ms (12.0%)
Total tracing 8.67 s -
Total iast 9.221 s 551.927 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.25 s 580.735 ms (6.7%)
Total iast_TELEMETRY_OFF 9.255 s 585.469 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (721.828 ms) : 0, 721828
BytebuddyAgent [candidate] (718.83 ms) : 0, 718830
GlobalTracer [baseline] (241.106 ms) : 0, 241106
GlobalTracer [candidate] (239.23 ms) : 0, 239230
AppSec [baseline] (55.352 ms) : 0, 55352
AppSec [candidate] (54.578 ms) : 0, 54578
Debugger [baseline] (6.619 ms) : 0, 6619
Debugger [candidate] (4.46 ms) : 0, 4460
Remote Config [baseline] (714.21 µs) : 0, 714
Remote Config [candidate] (686.974 µs) : 0, 687
Telemetry [baseline] (12.06 ms) : 0, 12060
Telemetry [candidate] (13.447 ms) : 0, 13447
section iast
BytebuddyAgent [baseline] (848.121 ms) : 0, 848121
BytebuddyAgent [candidate] (835.361 ms) : 0, 835361
GlobalTracer [baseline] (231.335 ms) : 0, 231335
GlobalTracer [candidate] (229.109 ms) : 0, 229109
IAST [baseline] (22.871 ms) : 0, 22871
IAST [candidate] (22.768 ms) : 0, 22768
AppSec [baseline] (56.428 ms) : 0, 56428
AppSec [candidate] (55.592 ms) : 0, 55592
Debugger [baseline] (4.163 ms) : 0, 4163
Debugger [candidate] (4.155 ms) : 0, 4155
Remote Config [baseline] (604.917 µs) : 0, 605
Remote Config [candidate] (604.785 µs) : 0, 605
Telemetry [baseline] (8.76 ms) : 0, 8760
Telemetry [candidate] (8.729 ms) : 0, 8729
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (847.765 ms) : 0, 847765
BytebuddyAgent [candidate] (836.695 ms) : 0, 836695
GlobalTracer [baseline] (232.016 ms) : 0, 232016
GlobalTracer [candidate] (229.314 ms) : 0, 229314
IAST [baseline] (23.218 ms) : 0, 23218
IAST [candidate] (22.805 ms) : 0, 22805
AppSec [baseline] (56.425 ms) : 0, 56425
AppSec [candidate] (55.85 ms) : 0, 55850
Debugger [baseline] (4.21 ms) : 0, 4210
Debugger [candidate] (4.158 ms) : 0, 4158
Remote Config [baseline] (609.597 µs) : 0, 610
Remote Config [candidate] (596.446 µs) : 0, 596
Telemetry [baseline] (8.912 ms) : 0, 8912
Telemetry [candidate] (8.736 ms) : 0, 8736
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (845.823 ms) : 0, 845823
BytebuddyAgent [candidate] (835.878 ms) : 0, 835878
GlobalTracer [baseline] (233.231 ms) : 0, 233231
GlobalTracer [candidate] (229.343 ms) : 0, 229343
IAST [baseline] (22.681 ms) : 0, 22681
IAST [candidate] (22.362 ms) : 0, 22362
AppSec [baseline] (56.694 ms) : 0, 56694
AppSec [candidate] (55.881 ms) : 0, 55881
Debugger [baseline] (4.17 ms) : 0, 4170
Debugger [candidate] (4.153 ms) : 0, 4153
Remote Config [baseline] (626.618 µs) : 0, 627
Remote Config [candidate] (610.899 µs) : 0, 611
Telemetry [baseline] (8.686 ms) : 0, 8686
Telemetry [candidate] (8.756 ms) : 0, 8756
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.062 s) : 0, 1062255
Total [baseline] (10.545 s) : 0, 10545015
Agent [candidate] (1.052 s) : 0, 1051562
Total [candidate] (10.453 s) : 0, 10453294
section appsec
Agent [baseline] (1.194 s) : 0, 1194053
Total [baseline] (10.786 s) : 0, 10785502
Agent [candidate] (1.199 s) : 0, 1198866
Total [candidate] (10.828 s) : 0, 10828326
section iast
Agent [baseline] (1.179 s) : 0, 1179318
Total [baseline] (11.081 s) : 0, 11081447
Agent [candidate] (1.179 s) : 0, 1178860
Total [candidate] (11.01 s) : 0, 11009918
section profiling
Agent [baseline] (1.27 s) : 0, 1270340
Total [baseline] (10.824 s) : 0, 10824023
Agent [candidate] (1.276 s) : 0, 1276261
Total [candidate] (10.872 s) : 0, 10871788
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent appsec 1.194 s 131.798 ms (12.4%)
Agent iast 1.179 s 117.063 ms (11.0%)
Agent profiling 1.27 s 208.085 ms (19.6%)
Total tracing 10.545 s -
Total appsec 10.786 s 240.486 ms (2.3%)
Total iast 11.081 s 536.432 ms (5.1%)
Total profiling 10.824 s 279.008 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.052 s -
Agent appsec 1.199 s 147.303 ms (14.0%)
Agent iast 1.179 s 127.298 ms (12.1%)
Agent profiling 1.276 s 224.698 ms (21.4%)
Total tracing 10.453 s -
Total appsec 10.828 s 375.032 ms (3.6%)
Total iast 11.01 s 556.624 ms (5.3%)
Total profiling 10.872 s 418.494 ms (4.0%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (727.798 ms) : 0, 727798
BytebuddyAgent [candidate] (719.636 ms) : 0, 719636
GlobalTracer [baseline] (243.348 ms) : 0, 243348
GlobalTracer [candidate] (239.045 ms) : 0, 239045
AppSec [baseline] (55.339 ms) : 0, 55339
AppSec [candidate] (54.937 ms) : 0, 54937
Debugger [baseline] (5.183 ms) : 0, 5183
Debugger [candidate] (5.203 ms) : 0, 5203
Remote Config [baseline] (745.218 µs) : 0, 745
Remote Config [candidate] (699.017 µs) : 0, 699
Telemetry [baseline] (13.688 ms) : 0, 13688
Telemetry [candidate] (12.244 ms) : 0, 12244
section appsec
BytebuddyAgent [baseline] (739.689 ms) : 0, 739689
BytebuddyAgent [candidate] (741.583 ms) : 0, 741583
GlobalTracer [baseline] (237.283 ms) : 0, 237283
GlobalTracer [candidate] (236.558 ms) : 0, 236558
AppSec [baseline] (176.627 ms) : 0, 176627
AppSec [candidate] (176.851 ms) : 0, 176851
Debugger [baseline] (4.328 ms) : 0, 4328
Debugger [candidate] (4.334 ms) : 0, 4334
Remote Config [baseline] (667.856 µs) : 0, 668
Remote Config [candidate] (649.926 µs) : 0, 650
Telemetry [baseline] (8.596 ms) : 0, 8596
Telemetry [candidate] (8.26 ms) : 0, 8260
IAST [baseline] (21.522 ms) : 0, 21522
IAST [candidate] (21.613 ms) : 0, 21613
section iast
BytebuddyAgent [baseline] (840.002 ms) : 0, 840002
BytebuddyAgent [candidate] (837.707 ms) : 0, 837707
GlobalTracer [baseline] (230.722 ms) : 0, 230722
GlobalTracer [candidate] (229.259 ms) : 0, 229259
AppSec [baseline] (56.187 ms) : 0, 56187
AppSec [candidate] (55.905 ms) : 0, 55905
Debugger [baseline] (4.189 ms) : 0, 4189
Debugger [candidate] (4.189 ms) : 0, 4189
Remote Config [baseline] (603.973 µs) : 0, 604
Remote Config [candidate] (640.255 µs) : 0, 640
Telemetry [baseline] (8.725 ms) : 0, 8725
Telemetry [candidate] (8.735 ms) : 0, 8735
IAST [baseline] (22.912 ms) : 0, 22912
IAST [candidate] (22.764 ms) : 0, 22764
section profiling
BytebuddyAgent [baseline] (708.765 ms) : 0, 708765
BytebuddyAgent [candidate] (711.071 ms) : 0, 711071
GlobalTracer [baseline] (350.299 ms) : 0, 350299
GlobalTracer [candidate] (349.882 ms) : 0, 349882
AppSec [baseline] (54.614 ms) : 0, 54614
AppSec [candidate] (53.369 ms) : 0, 53369
Debugger [baseline] (4.273 ms) : 0, 4273
Debugger [candidate] (4.327 ms) : 0, 4327
Remote Config [baseline] (703.216 µs) : 0, 703
Remote Config [candidate] (703.905 µs) : 0, 704
Telemetry [baseline] (8.865 ms) : 0, 8865
Telemetry [candidate] (9.016 ms) : 0, 9016
ProfilingAgent [baseline] (101.247 ms) : 0, 101247
ProfilingAgent [candidate] (102.958 ms) : 0, 102958
Profiling [baseline] (101.273 ms) : 0, 101273
Profiling [candidate] (102.984 ms) : 0, 102984
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-27T08:54:56 2025-03-27T09:02:44
git_branch master william.mouchere/embedded-gitinfo-spring
git_commit_date 1742990727 1743064327
git_commit_sha 3e2867a d63f220
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~d63f22047a
start_time 2025-03-27T08:54:42 2025-03-27T09:02:30
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743066562 1743066562
ci_job_id 867265396 867265396
ci_pipeline_id 60141857 60141857
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-3yvggzrb-project-304-concurrent-1-8ww2yp7n 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-3yvggzrb-project-304-concurrent-1-8ww2yp7n 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.386 ms) : 1366, 1406
.   : milestone, 1386,
appsec (1.749 ms) : 1725, 1773
.   : milestone, 1749,
appsec_no_iast (1.738 ms) : 1715, 1761
.   : milestone, 1738,
code_origins (1.705 ms) : 1678, 1732
.   : milestone, 1705,
iast (1.526 ms) : 1502, 1551
.   : milestone, 1526,
profiling (1.532 ms) : 1508, 1556
.   : milestone, 1532,
tracing (1.51 ms) : 1483, 1536
.   : milestone, 1510,
section candidate
no_agent (1.36 ms) : 1341, 1379
.   : milestone, 1360,
appsec (1.743 ms) : 1719, 1767
.   : milestone, 1743,
appsec_no_iast (1.718 ms) : 1694, 1742
.   : milestone, 1718,
code_origins (1.663 ms) : 1636, 1690
.   : milestone, 1663,
iast (1.524 ms) : 1500, 1549
.   : milestone, 1524,
profiling (1.515 ms) : 1492, 1539
.   : milestone, 1515,
tracing (1.502 ms) : 1478, 1527
.   : milestone, 1502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.386 ms [1.366 ms, 1.406 ms] -
appsec 1.749 ms [1.725 ms, 1.773 ms] 362.772 µs (26.2%)
appsec_no_iast 1.738 ms [1.715 ms, 1.761 ms] 351.75 µs (25.4%)
code_origins 1.705 ms [1.678 ms, 1.732 ms] 318.863 µs (23.0%)
iast 1.526 ms [1.502 ms, 1.551 ms] 140.213 µs (10.1%)
profiling 1.532 ms [1.508 ms, 1.556 ms] 145.708 µs (10.5%)
tracing 1.51 ms [1.483 ms, 1.536 ms] 123.55 µs (8.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.36 ms [1.341 ms, 1.379 ms] -
appsec 1.743 ms [1.719 ms, 1.767 ms] 383.275 µs (28.2%)
appsec_no_iast 1.718 ms [1.694 ms, 1.742 ms] 358.187 µs (26.3%)
code_origins 1.663 ms [1.636 ms, 1.69 ms] 303.196 µs (22.3%)
iast 1.524 ms [1.5 ms, 1.549 ms] 164.175 µs (12.1%)
profiling 1.515 ms [1.492 ms, 1.539 ms] 155.4 µs (11.4%)
tracing 1.502 ms [1.478 ms, 1.527 ms] 142.412 µs (10.5%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (383.279 µs) : 364, 403
.   : milestone, 383,
iast (525.11 µs) : 503, 548
.   : milestone, 525,
iast_FULL (733.81 µs) : 712, 756
.   : milestone, 734,
iast_GLOBAL (562.309 µs) : 541, 584
.   : milestone, 562,
iast_HARDCODED_SECRET_DISABLED (521.094 µs) : 499, 543
.   : milestone, 521,
iast_INACTIVE (467.181 µs) : 446, 488
.   : milestone, 467,
iast_TELEMETRY_OFF (502.545 µs) : 481, 524
.   : milestone, 503,
tracing (463.126 µs) : 442, 484
.   : milestone, 463,
section candidate
no_agent (387.481 µs) : 368, 407
.   : milestone, 387,
iast (519.032 µs) : 497, 541
.   : milestone, 519,
iast_FULL (733.175 µs) : 711, 755
.   : milestone, 733,
iast_GLOBAL (569.677 µs) : 547, 592
.   : milestone, 570,
iast_HARDCODED_SECRET_DISABLED (520.39 µs) : 498, 542
.   : milestone, 520,
iast_INACTIVE (477.988 µs) : 456, 499
.   : milestone, 478,
iast_TELEMETRY_OFF (511.685 µs) : 490, 534
.   : milestone, 512,
tracing (462.994 µs) : 442, 484
.   : milestone, 463,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.279 µs [363.677 µs, 402.88 µs] -
iast 525.11 µs [502.667 µs, 547.554 µs] 141.832 µs (37.0%)
iast_FULL 733.81 µs [711.761 µs, 755.858 µs] 350.531 µs (91.5%)
iast_GLOBAL 562.309 µs [540.704 µs, 583.913 µs] 179.03 µs (46.7%)
iast_HARDCODED_SECRET_DISABLED 521.094 µs [499.091 µs, 543.096 µs] 137.815 µs (36.0%)
iast_INACTIVE 467.181 µs [446.145 µs, 488.217 µs] 83.902 µs (21.9%)
iast_TELEMETRY_OFF 502.545 µs [480.907 µs, 524.184 µs] 119.266 µs (31.1%)
tracing 463.126 µs [442.106 µs, 484.146 µs] 79.847 µs (20.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 387.481 µs [367.784 µs, 407.179 µs] -
iast 519.032 µs [497.342 µs, 540.722 µs] 131.551 µs (34.0%)
iast_FULL 733.175 µs [710.95 µs, 755.4 µs] 345.693 µs (89.2%)
iast_GLOBAL 569.677 µs [547.372 µs, 591.982 µs] 182.196 µs (47.0%)
iast_HARDCODED_SECRET_DISABLED 520.39 µs [498.421 µs, 542.359 µs] 132.909 µs (34.3%)
iast_INACTIVE 477.988 µs [456.498 µs, 499.478 µs] 90.506 µs (23.4%)
iast_TELEMETRY_OFF 511.685 µs [489.791 µs, 533.578 µs] 124.203 µs (32.1%)
tracing 462.994 µs [442.2 µs, 483.788 µs] 75.513 µs (19.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master william.mouchere/embedded-gitinfo-spring
git_commit_date 1742990727 1743064327
git_commit_sha 3e2867a d63f220
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~d63f22047a
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1743067075 1743067075
ci_job_id 867265397 867265397
ci_pipeline_id 60141857 60141857
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-xjcpkyqs-project-304-concurrent-0-zsigirs0 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-xjcpkyqs-project-304-concurrent-0-zsigirs0 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.576 s) : 15576000, 15576000
.   : milestone, 15576000,
appsec (15.203 s) : 15203000, 15203000
.   : milestone, 15203000,
iast (18.77 s) : 18770000, 18770000
.   : milestone, 18770000,
iast_GLOBAL (18.061 s) : 18061000, 18061000
.   : milestone, 18061000,
profiling (15.141 s) : 15141000, 15141000
.   : milestone, 15141000,
tracing (15.081 s) : 15081000, 15081000
.   : milestone, 15081000,
section candidate
no_agent (14.922 s) : 14922000, 14922000
.   : milestone, 14922000,
appsec (14.846 s) : 14846000, 14846000
.   : milestone, 14846000,
iast (18.75 s) : 18750000, 18750000
.   : milestone, 18750000,
iast_GLOBAL (17.729 s) : 17729000, 17729000
.   : milestone, 17729000,
profiling (15.683 s) : 15683000, 15683000
.   : milestone, 15683000,
tracing (15.214 s) : 15214000, 15214000
.   : milestone, 15214000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.576 s [15.576 s, 15.576 s] -
appsec 15.203 s [15.203 s, 15.203 s] -373.0 ms (-2.4%)
iast 18.77 s [18.77 s, 18.77 s] 3.194 s (20.5%)
iast_GLOBAL 18.061 s [18.061 s, 18.061 s] 2.485 s (16.0%)
profiling 15.141 s [15.141 s, 15.141 s] -435.0 ms (-2.8%)
tracing 15.081 s [15.081 s, 15.081 s] -495.0 ms (-3.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.922 s [14.922 s, 14.922 s] -
appsec 14.846 s [14.846 s, 14.846 s] -76.0 ms (-0.5%)
iast 18.75 s [18.75 s, 18.75 s] 3.828 s (25.7%)
iast_GLOBAL 17.729 s [17.729 s, 17.729 s] 2.807 s (18.8%)
profiling 15.683 s [15.683 s, 15.683 s] 761.0 ms (5.1%)
tracing 15.214 s [15.214 s, 15.214 s] 292.0 ms (2.0%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~d63f22047a, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.479 ms) : 1468, 1491
.   : milestone, 1479,
appsec (2.356 ms) : 2312, 2399
.   : milestone, 2356,
iast (2.129 ms) : 2073, 2185
.   : milestone, 2129,
iast_GLOBAL (2.18 ms) : 2123, 2236
.   : milestone, 2180,
profiling (1.983 ms) : 1939, 2027
.   : milestone, 1983,
tracing (1.952 ms) : 1910, 1995
.   : milestone, 1952,
section candidate
no_agent (1.485 ms) : 1473, 1496
.   : milestone, 1485,
appsec (2.359 ms) : 2315, 2403
.   : milestone, 2359,
iast (2.137 ms) : 2082, 2193
.   : milestone, 2137,
iast_GLOBAL (2.171 ms) : 2115, 2227
.   : milestone, 2171,
profiling (1.98 ms) : 1936, 2024
.   : milestone, 1980,
tracing (1.957 ms) : 1915, 1999
.   : milestone, 1957,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.479 ms [1.468 ms, 1.491 ms] -
appsec 2.356 ms [2.312 ms, 2.399 ms] 876.227 µs (59.2%)
iast 2.129 ms [2.073 ms, 2.185 ms] 649.553 µs (43.9%)
iast_GLOBAL 2.18 ms [2.123 ms, 2.236 ms] 700.374 µs (47.3%)
profiling 1.983 ms [1.939 ms, 2.027 ms] 503.759 µs (34.1%)
tracing 1.952 ms [1.91 ms, 1.995 ms] 473.157 µs (32.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.485 ms [1.473 ms, 1.496 ms] -
appsec 2.359 ms [2.315 ms, 2.403 ms] 874.805 µs (58.9%)
iast 2.137 ms [2.082 ms, 2.193 ms] 652.935 µs (44.0%)
iast_GLOBAL 2.171 ms [2.115 ms, 2.227 ms] 686.288 µs (46.2%)
profiling 1.98 ms [1.936 ms, 2.024 ms] 495.149 µs (33.4%)
tracing 1.957 ms [1.915 ms, 1.999 ms] 472.394 µs (31.8%)

@wmouchere wmouchere force-pushed the william.mouchere/embedded-gitinfo-spring branch from 32dbe19 to 7f52177 Compare March 14, 2025 09:58
@wmouchere wmouchere marked this pull request as ready for review March 14, 2025 10:12
@wmouchere wmouchere requested a review from a team as a code owner March 14, 2025 10:12
@wmouchere wmouchere requested a review from ygree March 14, 2025 10:12
this(
Arrays.asList(
SPRING_BOOT_JAR_EMBEDDED_GIT_PROPERTIES_FILE_NAME,
SPRING_BOOT_JAR_EMBEDDED_DATADOG_GIT_PROPERTIES_FILE_NAME,
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't Datadog-specific properties file have higher priority than the generic one if both are present? And the same for WAR ones

Copy link
Contributor

Choose a reason for hiding this comment

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

In my opinion I would trust the spring boot ones. At least in a first version.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I reorganized the priorities, we still trust the spring boot paths first but datadog_git.properties would take precedence over git.properties in that context.

@wmouchere wmouchere force-pushed the william.mouchere/embedded-gitinfo-spring branch from a5a5ec6 to 76014bc Compare March 17, 2025 16:03

public EmbeddedGitInfoBuilder() {
this(EMBEDDED_GIT_PROPERTIES_FILE_NAME);
// Order is important here, from the most reliable sources to the least reliable ones
Copy link
Contributor

Choose a reason for hiding this comment

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

I think if the constants were inline right here, along with useful comments and ordering, it would be easier to read and maintain. WDYT?

Copy link
Contributor Author

@wmouchere wmouchere Mar 27, 2025

Choose a reason for hiding this comment

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

I agree 👍

Copy link
Contributor

@ygree ygree left a comment

Choose a reason for hiding this comment

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

LGTM with only one code organization suggestion

@wmouchere wmouchere force-pushed the william.mouchere/embedded-gitinfo-spring branch from 27c12b8 to d63f220 Compare March 27, 2025 08:32
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Mar 27, 2025

Datadog Summary

✅ Code Quality    ✅ Code Security    ✅ Dependencies

@wmouchere wmouchere enabled auto-merge (squash) March 27, 2025 11:04
@wmouchere wmouchere merged commit df4020c into master Mar 27, 2025
260 of 265 checks passed
@wmouchere wmouchere deleted the william.mouchere/embedded-gitinfo-spring branch March 27, 2025 23:55
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 27, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle
| minor | `11.6.0` -> `11.7.0` |
|
[com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` ->
`2.16.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary>

###
[`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110)

*2025-04-09*

-   Fix: Clear the deflater's byte array reference
-   New: Faster implementation of `String.decodeHex()` on Kotlin/JS.
- New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use
{}` and `FileSystem.read {}`.
-   Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20].

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160)

-   \[Feat]: support `com.android.test` projects.
-   \[Feat]: support typesafe project accessors with opt-in.

```kotlin
dependencyAnalysis {
  useTypesafeProjectAccessors(true) // false by default
}
```

</details>

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

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

### Components

#### Tracer internal logging

- 🐛 Remove print line causing unnecessary logs
([#&#8203;8687](DataDog/dd-trace-java#8687) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

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

### Known Bugs

> \[!NOTE]
> If you are experiencing issues with spamming timeout logs, please
update to the [latest
version](https://github.com/DataDog/dd-trace-java/releases/latest) or
set
[JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98)
to false.

### Components

#### Application Security Management (IAST)

- ✨ Fix vulnerability location org.jose4j.lang.HashUtil
([#&#8203;8610](DataDog/dd-trace-java#8610) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString
([#&#8203;8609](DataDog/dd-trace-java#8609) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak hash false positive in
oracle.security.o5logon.O5Logon
([#&#8203;8608](DataDog/dd-trace-java#8608) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Prevent before callsites targeting constructors in super calls
([#&#8203;8549](DataDog/dd-trace-java#8549) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### Application Security Management (WAF)

- ✨ Update login events public SDK to V2
([#&#8203;8620](DataDog/dd-trace-java#8620) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Improve detection of missing request end events
([#&#8203;8510](DataDog/dd-trace-java#8510) -
[@&#8203;smola](https://github.com/smola))
- 🧹 Remove remote configuration for API Security sampling rate
([#&#8203;8486](DataDog/dd-trace-java#8486) -
[@&#8203;smola](https://github.com/smola))
- ✨ Add setUser to user monitoring SDK
([#&#8203;8482](DataDog/dd-trace-java#8482) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add missing address for signup event
([#&#8203;8469](DataDog/dd-trace-java#8469) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Allow login events SDK to be used with appsec disabled
([#&#8203;8464](DataDog/dd-trace-java#8464) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ New API Security sampling algorithm
([#&#8203;8178](DataDog/dd-trace-java#8178) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Build & Tooling

- ✨ Add buffer size customizability to JDK UDS support
([#&#8203;8629](DataDog/dd-trace-java#8629) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Add JDK built-in support for UDS on Java 16+
([#&#8203;8314](DataDog/dd-trace-java#8314) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Configuration at Runtime

- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Continuous Integration Visibility

- 🐛 Prevent double reporting of Scalatest events when using SBT with
test forking
([#&#8203;8682](DataDog/dd-trace-java#8682) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Shutdown CI Visibility test event handlers before tracer
([#&#8203;8677](DataDog/dd-trace-java#8677) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners
([#&#8203;8675](DataDog/dd-trace-java#8675),
[#&#8203;8683](DataDog/dd-trace-java#8683) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Remove error log when source path resolution fails on
isModified check
([#&#8203;8663](DataDog/dd-trace-java#8663) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement tests reordering for JUnit 4
([#&#8203;8650](DataDog/dd-trace-java#8650) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Set default Attempt to Fix retries if none provided from the
backend
([#&#8203;8615](DataDog/dd-trace-java#8615) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Allow to manually set PR info
([#&#8203;8566](DataDog/dd-trace-java#8566) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Test Optimization init when repo root cannot be determined
([#&#8203;8533](DataDog/dd-trace-java#8533) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add capabilities tagging
([#&#8203;8499](DataDog/dd-trace-java#8499),
[#&#8203;8540](DataDog/dd-trace-java#8540) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Crash tracking

- 🐛 Remove dependency on bash from crash/oome uploder scripts
([#&#8203;8652](DataDog/dd-trace-java#8652) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Data Streams Monitoring

- ✨ e2e pipeline configuration when data jobs is enabled
([#&#8203;8553](DataDog/dd-trace-java#8553) -
[@&#8203;kr-igor](https://github.com/kr-igor))

#### Dynamic Instrumentation

- 🐛 Fix In-Product when config is empty
([#&#8203;8679](DataDog/dd-trace-java#8679) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for filtering shaded third-party libs
([#&#8203;8612](DataDog/dd-trace-java#8612) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add In-Product Enablement
([#&#8203;8587](DataDog/dd-trace-java#8587) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Reduce footprint of SourceFile tracking
([#&#8203;8524](DataDog/dd-trace-java#8524) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Optimize the SourceFile tracking
([#&#8203;8520](DataDog/dd-trace-java#8520) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### OpenTracing

- 🧹 Remove activeScope() use in OpenTracing shim
([#&#8203;8478](DataDog/dd-trace-java#8478) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Profiling

- ✨ Add profiler env check command to AgentCLI
([#&#8203;8671](DataDog/dd-trace-java#8671) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Bump ddprof to 1.23.0
([#&#8203;8668](DataDog/dd-trace-java#8668) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Fix a crash related to ElfParser::loadSymbolTable
([#&#8203;191](DataDog/dd-trace-java#191)) by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by
[@&#8203;MattAlp](https://github.com/MattAlp) in
DataDog/java-profiler#193
- Fix Java 24 support by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of
vmstructs stack unwinder by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#199

- 🐛 Remove process information from JFR recording
([#&#8203;8661](DataDog/dd-trace-java#8661) -
[@&#8203;r1viollet](https://github.com/r1viollet))

- 🐛 Make TempLocationManager USER aware
([#&#8203;8605](DataDog/dd-trace-java#8605) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Telemetry

- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics
([#&#8203;8624](DataDog/dd-trace-java#8624) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Create metric: appsec.rasp.rule.skipped
([#&#8203;8618](DataDog/dd-trace-java#8618) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Testing

- 🧹 Simplify ssi tests one-pipeline
([#&#8203;8558](DataDog/dd-trace-java#8558) -
[@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel))
- ✨ Add smoke tests for java's concurrent API
([#&#8203;8438](DataDog/dd-trace-java#8438) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Trace context propagation

- ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT`
([#&#8203;8535](DataDog/dd-trace-java#8535) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer core

- 🐛 Ensure shaded helpers have unique names
([#&#8203;8559](DataDog/dd-trace-java#8559) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support common config sources for user-provided git info
([#&#8203;8547](DataDog/dd-trace-java#8547) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Make the default config sources more robust when a security
manager is installed
([#&#8203;8544](DataDog/dd-trace-java#8544) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support targeting services with configurations in stable
configuration file
([#&#8203;8526](DataDog/dd-trace-java#8526) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE`
([#&#8203;8296](DataDog/dd-trace-java#8296) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer internal logging

- 🐛 Add missing debug log for the cloudPayloadTaggingServices config
([#&#8203;8600](DataDog/dd-trace-java#8600) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add the possibility to output the logs of the Java tracer
in JSON
([#&#8203;8083](DataDog/dd-trace-java#8083) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Tracer public API

- ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config
([#&#8203;8536](DataDog/dd-trace-java#8536) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Config Consistency Round 2
([#&#8203;8489](DataDog/dd-trace-java#8489) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

####

- 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation
([#&#8203;8599](DataDog/dd-trace-java#8599) -
[@&#8203;ygree](https://github.com/ygree))

#### Apache Spark instrumentation

- ✨ Instrument Runtime.exit() to finish spark application spans
([#&#8203;8572](DataDog/dd-trace-java#8572) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))
- ✨ Configure OpenLineage if present in Spark instrumentation
([#&#8203;8541](DataDog/dd-trace-java#8541) -
[@&#8203;mobuchowski](https://github.com/mobuchowski))

#### Armeria Instrumentation

- ✨ Support armeria grpc 1.32.3
([#&#8203;8606](DataDog/dd-trace-java#8606) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

#### AWS DynamoDB Instrumentation

- ✨ Create DynamoDB instrumentation + add span pointers for
`updateItem` and `deleteItem`
([#&#8203;8490](DataDog/dd-trace-java#8490) -
[@&#8203;nhulston](https://github.com/nhulston))

#### AWS SDK instrumentation

- ✨ Add DynamoDB in
DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES
([#&#8203;8595](DataDog/dd-trace-java#8595) -
[@&#8203;joeyzhao2018](https://github.com/joeyzhao2018))

#### Azure Functions instrumentation

- ✨ Enable tracer computed trace metrics by default for Azure
Functions
([#&#8203;8518](DataDog/dd-trace-java#8518) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))
- 💡 Add azure-functions instrumentation
([#&#8203;8432](DataDog/dd-trace-java#8432) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))

#### Core Java language instrumentation

- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+
([#&#8203;8560](DataDog/dd-trace-java#8560) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Eclipse Vert.x instrumentation

- ✨ Add vertx postgresql client instrumentation
([#&#8203;8471](DataDog/dd-trace-java#8471) -
[@&#8203;vandonr](https://github.com/vandonr) - thanks for the
contribution!)

#### Kafka instrumentation

- ✨ Support and test kafka-clients 4
([#&#8203;8581](DataDog/dd-trace-java#8581) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- ✨ Avoid disconnected traces when using Kotlin flowOn
([#&#8203;8651](DataDog/dd-trace-java#8651) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🧹 Migrate OtelContext wrapper to new internal Context API
([#&#8203;8645](DataDog/dd-trace-java#8645) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Spring instrumentation

- 🐛 Support CompletableFuture on spring webmvc controllers
([#&#8203;8659](DataDog/dd-trace-java#8659) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### WebSocket Instrumentation

- ✨ Instrument Jetty websocket pojo
([#&#8203;8562](DataDog/dd-trace-java#8562) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Instrument Java Websocket API (JSR356)
([#&#8203;8440](DataDog/dd-trace-java#8440) -
[@&#8203;amarziali](https://github.com/amarziali))

#### All other instrumentations

- ✨ Introduce cache for peer.hostname lookup
([#&#8203;8601](DataDog/dd-trace-java#8601) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support pekko http 1.1
([#&#8203;8532](DataDog/dd-trace-java#8532) -
[@&#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**: 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: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants