- Notifications
You must be signed in to change notification settings - Fork 314
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
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 64 metrics, 7 unstable metrics. Startup time reports for insecure-bankgantt 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
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 Startup time reports for petclinicgantt 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
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 LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 14 metrics, 16 unstable metrics. Request duration reports for petclinicgantt 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,
Request duration reports for insecure-bankgantt 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,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for biojavagantt 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,
Execution time for tomcatgantt 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,
|
32dbe19
to 7f52177
Compare this( | ||
Arrays.asList( | ||
SPRING_BOOT_JAR_EMBEDDED_GIT_PROPERTIES_FILE_NAME, | ||
SPRING_BOOT_JAR_EMBEDDED_DATADOG_GIT_PROPERTIES_FILE_NAME, |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
a5a5ec6
to 76014bc
Compare | ||
public EmbeddedGitInfoBuilder() { | ||
this(EMBEDDED_GIT_PROPERTIES_FILE_NAME); | ||
// Order is important here, from the most reliable sources to the least reliable ones |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree 👍
There was a problem hiding this 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
27c12b8
to d63f220
Compare Datadog Summary✅ Code Quality ✅ Code Security ✅ Dependencies |
| 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 ([#​8687](DataDog/dd-trace-java#8687) - [@​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 ([#​8610](DataDog/dd-trace-java#8610) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak randomness in oracle.ucp.util.OpaqueString ([#​8609](DataDog/dd-trace-java#8609) - [@​jandro996](https://github.com/jandro996)) - ✨ Fix weak hash false positive in oracle.security.o5logon.O5Logon ([#​8608](DataDog/dd-trace-java#8608) - [@​jandro996](https://github.com/jandro996)) - 🐛 Prevent before callsites targeting constructors in super calls ([#​8549](DataDog/dd-trace-java#8549) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### Application Security Management (WAF) - ✨ Update login events public SDK to V2 ([#​8620](DataDog/dd-trace-java#8620) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#​8573](DataDog/dd-trace-java#8573) - [@​jandro996](https://github.com/jandro996)) - ✨ Improve detection of missing request end events ([#​8510](DataDog/dd-trace-java#8510) - [@​smola](https://github.com/smola)) - 🧹 Remove remote configuration for API Security sampling rate ([#​8486](DataDog/dd-trace-java#8486) - [@​smola](https://github.com/smola)) - ✨ Add setUser to user monitoring SDK ([#​8482](DataDog/dd-trace-java#8482) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add missing address for signup event ([#​8469](DataDog/dd-trace-java#8469) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Allow login events SDK to be used with appsec disabled ([#​8464](DataDog/dd-trace-java#8464) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ Add support for endpoint discovery in spring mvc ([#​8352](DataDog/dd-trace-java#8352) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - ✨ New API Security sampling algorithm ([#​8178](DataDog/dd-trace-java#8178) - [@​ValentinZakharov](https://github.com/ValentinZakharov)) #### Build & Tooling - ✨ Add buffer size customizability to JDK UDS support ([#​8629](DataDog/dd-trace-java#8629) - [@​sarahchen6](https://github.com/sarahchen6)) - ✨ Add JDK built-in support for UDS on Java 16+ ([#​8314](DataDog/dd-trace-java#8314) - [@​sarahchen6](https://github.com/sarahchen6)) #### Configuration at Runtime - 🐛 Send RASP LFI capability only when AppSec is statically enabled ([#​8573](DataDog/dd-trace-java#8573) - [@​jandro996](https://github.com/jandro996)) #### Continuous Integration Visibility - 🐛 Prevent double reporting of Scalatest events when using SBT with test forking ([#​8682](DataDog/dd-trace-java#8682) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Shutdown CI Visibility test event handlers before tracer ([#​8677](DataDog/dd-trace-java#8677) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Do not apply JUnit 4 instrumentation to MUnit runners ([#​8675](DataDog/dd-trace-java#8675), [#​8683](DataDog/dd-trace-java#8683) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Remove error log when source path resolution fails on isModified check ([#​8663](DataDog/dd-trace-java#8663) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Implement tests reordering for JUnit 4 ([#​8650](DataDog/dd-trace-java#8650) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - 🐛 Set default Attempt to Fix retries if none provided from the backend ([#​8615](DataDog/dd-trace-java#8615) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - ✨ Allow to manually set PR info ([#​8566](DataDog/dd-trace-java#8566) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - 🐛 Fix Test Optimization init when repo root cannot be determined ([#​8533](DataDog/dd-trace-java#8533) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Add capabilities tagging ([#​8499](DataDog/dd-trace-java#8499), [#​8540](DataDog/dd-trace-java#8540) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) #### Crash tracking - 🐛 Remove dependency on bash from crash/oome uploder scripts ([#​8652](DataDog/dd-trace-java#8652) - [@​jbachorik](https://github.com/jbachorik)) #### Data Streams Monitoring - ✨ e2e pipeline configuration when data jobs is enabled ([#​8553](DataDog/dd-trace-java#8553) - [@​kr-igor](https://github.com/kr-igor)) #### Dynamic Instrumentation - 🐛 Fix In-Product when config is empty ([#​8679](DataDog/dd-trace-java#8679) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add support for filtering shaded third-party libs ([#​8612](DataDog/dd-trace-java#8612) - [@​jpbempel](https://github.com/jpbempel)) - ✨ Add In-Product Enablement ([#​8587](DataDog/dd-trace-java#8587) - [@​jpbempel](https://github.com/jpbempel)) - ✨⚡ Reduce footprint of SourceFile tracking ([#​8524](DataDog/dd-trace-java#8524) - [@​jpbempel](https://github.com/jpbempel)) - ✨⚡ Optimize the SourceFile tracking ([#​8520](DataDog/dd-trace-java#8520) - [@​jpbempel](https://github.com/jpbempel)) #### OpenTracing - 🧹 Remove activeScope() use in OpenTracing shim ([#​8478](DataDog/dd-trace-java#8478) - [@​mcculls](https://github.com/mcculls)) #### Profiling - ✨ Add profiler env check command to AgentCLI ([#​8671](DataDog/dd-trace-java#8671) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Bump ddprof to 1.23.0 ([#​8668](DataDog/dd-trace-java#8668) - [@​jbachorik](https://github.com/jbachorik)) - Fix a crash related to ElfParser::loadSymbolTable ([#​191](DataDog/dd-trace-java#191)) by [@​yanglong1010](https://github.com/yanglong1010) in DataDog/java-profiler#192 - Unwind String.indexOf intrinsic on AArch64 by [@​MattAlp](https://github.com/MattAlp) in DataDog/java-profiler#193 - Fix Java 24 support by [@​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 [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#199 - 🐛 Remove process information from JFR recording ([#​8661](DataDog/dd-trace-java#8661) - [@​r1viollet](https://github.com/r1viollet)) - 🐛 Make TempLocationManager USER aware ([#​8605](DataDog/dd-trace-java#8605) - [@​jbachorik](https://github.com/jbachorik)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#​8561](DataDog/dd-trace-java#8561) - [@​wmouchere](https://github.com/wmouchere)) #### Telemetry - 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics ([#​8624](DataDog/dd-trace-java#8624) - [@​jandro996](https://github.com/jandro996)) - ✨ Create metric: appsec.rasp.rule.skipped ([#​8618](DataDog/dd-trace-java#8618) - [@​jandro996](https://github.com/jandro996)) - ✨ Extract git tags from embedded git.properties and datadog_git.properties ([#​8561](DataDog/dd-trace-java#8561) - [@​wmouchere](https://github.com/wmouchere)) #### Testing - 🧹 Simplify ssi tests one-pipeline ([#​8558](DataDog/dd-trace-java#8558) - [@​robertomonteromiguel](https://github.com/robertomonteromiguel)) - ✨ Add smoke tests for java's concurrent API ([#​8438](DataDog/dd-trace-java#8438) - [@​sarahchen6](https://github.com/sarahchen6)) #### Trace context propagation - ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT` ([#​8535](DataDog/dd-trace-java#8535) - [@​mhlidd](https://github.com/mhlidd)) #### Tracer core - 🐛 Ensure shaded helpers have unique names ([#​8559](DataDog/dd-trace-java#8559) - [@​amarziali](https://github.com/amarziali)) - ✨ Support common config sources for user-provided git info ([#​8547](DataDog/dd-trace-java#8547) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Make the default config sources more robust when a security manager is installed ([#​8544](DataDog/dd-trace-java#8544) - [@​mcculls](https://github.com/mcculls)) - ✨ Support targeting services with configurations in stable configuration file ([#​8526](DataDog/dd-trace-java#8526) - [@​mtoffl01](https://github.com/mtoffl01)) - ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE` ([#​8296](DataDog/dd-trace-java#8296) - [@​mhlidd](https://github.com/mhlidd)) #### Tracer internal logging - 🐛 Add missing debug log for the cloudPayloadTaggingServices config ([#​8600](DataDog/dd-trace-java#8600) - [@​ygree](https://github.com/ygree)) - ✨ Add the possibility to output the logs of the Java tracer in JSON ([#​8083](DataDog/dd-trace-java#8083) - [@​cecile75](https://github.com/cecile75)) #### Tracer public API - ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config ([#​8536](DataDog/dd-trace-java#8536) - [@​mhlidd](https://github.com/mhlidd)) - ✨ Config Consistency Round 2 ([#​8489](DataDog/dd-trace-java#8489) - [@​mhlidd](https://github.com/mhlidd)) ### Instrumentations #### - 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation ([#​8599](DataDog/dd-trace-java#8599) - [@​ygree](https://github.com/ygree)) #### Apache Spark instrumentation - ✨ Instrument Runtime.exit() to finish spark application spans ([#​8572](DataDog/dd-trace-java#8572) - [@​paul-laffon-dd](https://github.com/paul-laffon-dd)) - ✨ Configure OpenLineage if present in Spark instrumentation ([#​8541](DataDog/dd-trace-java#8541) - [@​mobuchowski](https://github.com/mobuchowski)) #### Armeria Instrumentation - ✨ Support armeria grpc 1.32.3 ([#​8606](DataDog/dd-trace-java#8606) - [@​github-actions](https://github.com/github-actions)\[bot]) #### AWS DynamoDB Instrumentation - ✨ Create DynamoDB instrumentation + add span pointers for `updateItem` and `deleteItem` ([#​8490](DataDog/dd-trace-java#8490) - [@​nhulston](https://github.com/nhulston)) #### AWS SDK instrumentation - ✨ Add DynamoDB in DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES ([#​8595](DataDog/dd-trace-java#8595) - [@​joeyzhao2018](https://github.com/joeyzhao2018)) #### Azure Functions instrumentation - ✨ Enable tracer computed trace metrics by default for Azure Functions ([#​8518](DataDog/dd-trace-java#8518) - [@​duncanpharvey](https://github.com/duncanpharvey)) - 💡 Add azure-functions instrumentation ([#​8432](DataDog/dd-trace-java#8432) - [@​duncanpharvey](https://github.com/duncanpharvey)) #### Core Java language instrumentation - 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+ ([#​8560](DataDog/dd-trace-java#8560) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) #### Eclipse Vert.x instrumentation - ✨ Add vertx postgresql client instrumentation ([#​8471](DataDog/dd-trace-java#8471) - [@​vandonr](https://github.com/vandonr) - thanks for the contribution!) #### Kafka instrumentation - ✨ Support and test kafka-clients 4 ([#​8581](DataDog/dd-trace-java#8581) - [@​amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - ✨ Avoid disconnected traces when using Kotlin flowOn ([#​8651](DataDog/dd-trace-java#8651) - [@​mcculls](https://github.com/mcculls)) #### OpenTelemetry instrumentation - 🧹 Migrate OtelContext wrapper to new internal Context API ([#​8645](DataDog/dd-trace-java#8645) - [@​mcculls](https://github.com/mcculls)) #### Spring instrumentation - 🐛 Support CompletableFuture on spring webmvc controllers ([#​8659](DataDog/dd-trace-java#8659) - [@​amarziali](https://github.com/amarziali)) - ✨ Add support for endpoint discovery in spring mvc ([#​8352](DataDog/dd-trace-java#8352) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) #### WebSocket Instrumentation - ✨ Instrument Jetty websocket pojo ([#​8562](DataDog/dd-trace-java#8562) - [@​amarziali](https://github.com/amarziali)) - 💡 Instrument Java Websocket API (JSR356) ([#​8440](DataDog/dd-trace-java#8440) - [@​amarziali](https://github.com/amarziali)) #### All other instrumentations - ✨ Introduce cache for peer.hostname lookup ([#​8601](DataDog/dd-trace-java#8601) - [@​mcculls](https://github.com/mcculls)) - ✨ Support pekko http 1.1 ([#​8532](DataDog/dd-trace-java#8532) - [@​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
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 trustBOOT-INF/classes/git.properties
andWEB-INF/classes/git.properties
.This PR also adds reading from
datadog_git.properties
as a way to avoid potentialgit.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:
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
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: SCICM-3958