-
Notifications
You must be signed in to change notification settings - Fork 299
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