Skip to content

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

@wmouchere wmouchere added type: enhancement Enhancements and improvements comp: profiling Profiling comp: telemetry Telemetry labels Mar 14, 2025
@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

Labels

comp: profiling Profiling comp: telemetry Telemetry type: enhancement Enhancements and improvements

5 participants