Report dd-java-agent itself as a Maven dependency in SCA telemetry#10975
Open
Report dd-java-agent itself as a Maven dependency in SCA telemetry#10975
Conversation
Generate META-INF/maven/com.datadoghq/dd-java-agent/pom.properties at build time so the SCA dependency pipeline (JarReader → DependencyResolver) detects com.datadoghq:dd-java-agent in the APP_DEPENDENCIES_LOADED telemetry events. Add a unit test in DependencyResolverSpecification verifying the resolver correctly parses the generated pom.properties, and extend the AbstractServerSmokeTest tracer-dependency assertion to include com.datadoghq:dd-java-agent so all server smoke tests validate this end-to-end against the real shadow JAR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 63 metrics, 8 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053658
Total [baseline] (8.899 s) : 0, 8898939
Agent [candidate] (1.063 s) : 0, 1062643
Total [candidate] (8.905 s) : 0, 8904912
section iast
Agent [baseline] (1.232 s) : 0, 1231997
Total [baseline] (9.584 s) : 0, 9584350
Agent [candidate] (1.236 s) : 0, 1235634
Total [candidate] (9.598 s) : 0, 9598410
gantt
title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.229 ms) : 0, 1229
BytebuddyAgent [baseline] (627.094 ms) : 0, 627094
BytebuddyAgent [candidate] (632.248 ms) : 0, 632248
AgentMeter [baseline] (29.377 ms) : 0, 29377
AgentMeter [candidate] (29.575 ms) : 0, 29575
GlobalTracer [baseline] (256.584 ms) : 0, 256584
GlobalTracer [candidate] (258.915 ms) : 0, 258915
AppSec [baseline] (31.686 ms) : 0, 31686
AppSec [candidate] (31.985 ms) : 0, 31985
Debugger [baseline] (59.418 ms) : 0, 59418
Debugger [candidate] (60.13 ms) : 0, 60130
Remote Config [baseline] (586.332 µs) : 0, 586
Remote Config [candidate] (586.113 µs) : 0, 586
Telemetry [baseline] (8.043 ms) : 0, 8043
Telemetry [candidate] (8.111 ms) : 0, 8111
Flare Poller [baseline] (3.507 ms) : 0, 3507
Flare Poller [candidate] (3.544 ms) : 0, 3544
section iast
crashtracking [baseline] (1.218 ms) : 0, 1218
crashtracking [candidate] (1.224 ms) : 0, 1224
BytebuddyAgent [baseline] (799.31 ms) : 0, 799310
BytebuddyAgent [candidate] (801.489 ms) : 0, 801489
AgentMeter [baseline] (11.448 ms) : 0, 11448
AgentMeter [candidate] (11.44 ms) : 0, 11440
GlobalTracer [baseline] (248.685 ms) : 0, 248685
GlobalTracer [candidate] (249.506 ms) : 0, 249506
IAST [baseline] (25.446 ms) : 0, 25446
IAST [candidate] (25.42 ms) : 0, 25420
AppSec [baseline] (26.696 ms) : 0, 26696
AppSec [candidate] (26.578 ms) : 0, 26578
Debugger [baseline] (68.564 ms) : 0, 68564
Debugger [candidate] (68.385 ms) : 0, 68385
Remote Config [baseline] (545.911 µs) : 0, 546
Remote Config [candidate] (527.101 µs) : 0, 527
Telemetry [baseline] (10.45 ms) : 0, 10450
Telemetry [candidate] (11.074 ms) : 0, 11074
Flare Poller [baseline] (3.429 ms) : 0, 3429
Flare Poller [candidate] (3.579 ms) : 0, 3579
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1060497
Total [baseline] (11.159 s) : 0, 11159278
Agent [candidate] (1.066 s) : 0, 1066092
Total [candidate] (11.207 s) : 0, 11207240
section appsec
Agent [baseline] (1.246 s) : 0, 1246304
Total [baseline] (11.177 s) : 0, 11176918
Agent [candidate] (1.269 s) : 0, 1269020
Total [candidate] (11.225 s) : 0, 11225231
section iast
Agent [baseline] (1.228 s) : 0, 1227745
Total [baseline] (10.635 s) : 0, 10635140
Agent [candidate] (1.243 s) : 0, 1242589
Total [candidate] (11.301 s) : 0, 11300745
section profiling
Agent [baseline] (1.185 s) : 0, 1185329
Total [baseline] (11.085 s) : 0, 11084631
Agent [candidate] (1.189 s) : 0, 1189384
Total [candidate] (11.052 s) : 0, 11051624
gantt
title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.243 ms) : 0, 1243
crashtracking [candidate] (1.222 ms) : 0, 1222
BytebuddyAgent [baseline] (629.869 ms) : 0, 629869
BytebuddyAgent [candidate] (633.149 ms) : 0, 633149
AgentMeter [baseline] (29.501 ms) : 0, 29501
AgentMeter [candidate] (29.775 ms) : 0, 29775
GlobalTracer [baseline] (257.794 ms) : 0, 257794
GlobalTracer [candidate] (259.822 ms) : 0, 259822
AppSec [baseline] (31.8 ms) : 0, 31800
AppSec [candidate] (32.183 ms) : 0, 32183
Debugger [baseline] (60.274 ms) : 0, 60274
Debugger [candidate] (61.3 ms) : 0, 61300
Remote Config [baseline] (596.07 µs) : 0, 596
Remote Config [candidate] (602.376 µs) : 0, 602
Telemetry [baseline] (8.072 ms) : 0, 8072
Telemetry [candidate] (8.099 ms) : 0, 8099
Flare Poller [baseline] (5.09 ms) : 0, 5090
Flare Poller [candidate] (3.587 ms) : 0, 3587
section appsec
crashtracking [baseline] (1.217 ms) : 0, 1217
crashtracking [candidate] (1.246 ms) : 0, 1246
BytebuddyAgent [baseline] (657.569 ms) : 0, 657569
BytebuddyAgent [candidate] (671.028 ms) : 0, 671028
AgentMeter [baseline] (12.189 ms) : 0, 12189
AgentMeter [candidate] (12.392 ms) : 0, 12392
GlobalTracer [baseline] (257.651 ms) : 0, 257651
GlobalTracer [candidate] (262.503 ms) : 0, 262503
AppSec [baseline] (177.973 ms) : 0, 177973
AppSec [candidate] (179.66 ms) : 0, 179660
Debugger [baseline] (65.565 ms) : 0, 65565
Debugger [candidate] (67.755 ms) : 0, 67755
Remote Config [baseline] (643.604 µs) : 0, 644
Remote Config [candidate] (669.604 µs) : 0, 670
Telemetry [baseline] (8.627 ms) : 0, 8627
Telemetry [candidate] (8.58 ms) : 0, 8580
Flare Poller [baseline] (4.49 ms) : 0, 4490
Flare Poller [candidate] (3.653 ms) : 0, 3653
IAST [baseline] (24.076 ms) : 0, 24076
IAST [candidate] (24.614 ms) : 0, 24614
section iast
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.229 ms) : 0, 1229
BytebuddyAgent [baseline] (796.058 ms) : 0, 796058
BytebuddyAgent [candidate] (806.603 ms) : 0, 806603
AgentMeter [baseline] (11.467 ms) : 0, 11467
AgentMeter [candidate] (11.574 ms) : 0, 11574
GlobalTracer [baseline] (247.775 ms) : 0, 247775
GlobalTracer [candidate] (250.253 ms) : 0, 250253
AppSec [baseline] (26.447 ms) : 0, 26447
AppSec [candidate] (26.852 ms) : 0, 26852
Debugger [baseline] (69.474 ms) : 0, 69474
Debugger [candidate] (70.258 ms) : 0, 70258
Remote Config [baseline] (525.048 µs) : 0, 525
Remote Config [candidate] (528.634 µs) : 0, 529
Telemetry [baseline] (9.739 ms) : 0, 9739
Telemetry [candidate] (9.796 ms) : 0, 9796
Flare Poller [baseline] (3.462 ms) : 0, 3462
Flare Poller [candidate] (3.406 ms) : 0, 3406
IAST [baseline] (25.355 ms) : 0, 25355
IAST [candidate] (25.613 ms) : 0, 25613
section profiling
ProfilingAgent [baseline] (94.166 ms) : 0, 94166
ProfilingAgent [candidate] (94.296 ms) : 0, 94296
crashtracking [baseline] (1.187 ms) : 0, 1187
crashtracking [candidate] (1.178 ms) : 0, 1178
BytebuddyAgent [baseline] (684.254 ms) : 0, 684254
BytebuddyAgent [candidate] (686.724 ms) : 0, 686724
AgentMeter [baseline] (9.025 ms) : 0, 9025
AgentMeter [candidate] (9.008 ms) : 0, 9008
GlobalTracer [baseline] (215.32 ms) : 0, 215320
GlobalTracer [candidate] (215.839 ms) : 0, 215839
AppSec [baseline] (32.3 ms) : 0, 32300
AppSec [candidate] (32.32 ms) : 0, 32320
Debugger [baseline] (65.41 ms) : 0, 65410
Debugger [candidate] (66.034 ms) : 0, 66034
Remote Config [baseline] (565.871 µs) : 0, 566
Remote Config [candidate] (568.005 µs) : 0, 568
Telemetry [baseline] (7.742 ms) : 0, 7742
Telemetry [candidate] (7.8 ms) : 0, 7800
Flare Poller [baseline] (4.262 ms) : 0, 4262
Flare Poller [candidate] (4.312 ms) : 0, 4312
Profiling [baseline] (94.727 ms) : 0, 94727
Profiling [candidate] (94.843 ms) : 0, 94843
LoadParameters
See matching parameters
SummaryFound 3 performance improvements and 4 performance regressions! Performance is the same for 11 metrics, 18 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section baseline
no_agent (18.249 ms) : 18058, 18439
. : milestone, 18249,
appsec (18.71 ms) : 18515, 18905
. : milestone, 18710,
code_origins (17.893 ms) : 17716, 18071
. : milestone, 17893,
iast (19.831 ms) : 19632, 20030
. : milestone, 19831,
profiling (18.497 ms) : 18314, 18680
. : milestone, 18497,
tracing (17.77 ms) : 17594, 17947
. : milestone, 17770,
section candidate
no_agent (19.416 ms) : 19216, 19617
. : milestone, 19416,
appsec (18.587 ms) : 18399, 18775
. : milestone, 18587,
code_origins (17.893 ms) : 17716, 18070
. : milestone, 17893,
iast (17.475 ms) : 17304, 17646
. : milestone, 17475,
profiling (19.531 ms) : 19337, 19725
. : milestone, 19531,
tracing (17.725 ms) : 17553, 17898
. : milestone, 17725,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section baseline
no_agent (1.17 ms) : 1159, 1182
. : milestone, 1170,
iast (3.171 ms) : 3128, 3213
. : milestone, 3171,
iast_FULL (5.717 ms) : 5661, 5773
. : milestone, 5717,
iast_GLOBAL (3.74 ms) : 3676, 3805
. : milestone, 3740,
profiling (1.941 ms) : 1923, 1959
. : milestone, 1941,
tracing (1.798 ms) : 1784, 1813
. : milestone, 1798,
section candidate
no_agent (1.189 ms) : 1178, 1201
. : milestone, 1189,
iast (3.13 ms) : 3090, 3170
. : milestone, 3130,
iast_FULL (6.167 ms) : 6104, 6230
. : milestone, 6167,
iast_GLOBAL (3.549 ms) : 3484, 3615
. : milestone, 3549,
profiling (2.287 ms) : 2264, 2310
. : milestone, 2287,
tracing (1.789 ms) : 1773, 1804
. : milestone, 1789,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 2 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section baseline
no_agent (1.488 ms) : 1476, 1500
. : milestone, 1488,
appsec (3.758 ms) : 3541, 3975
. : milestone, 3758,
iast (2.263 ms) : 2194, 2332
. : milestone, 2263,
iast_GLOBAL (2.305 ms) : 2236, 2374
. : milestone, 2305,
profiling (2.538 ms) : 2367, 2709
. : milestone, 2538,
tracing (2.065 ms) : 2012, 2118
. : milestone, 2065,
section candidate
no_agent (1.481 ms) : 1469, 1493
. : milestone, 1481,
appsec (3.824 ms) : 3602, 4046
. : milestone, 3824,
iast (2.258 ms) : 2189, 2327
. : milestone, 2258,
iast_GLOBAL (2.303 ms) : 2234, 2372
. : milestone, 2303,
profiling (2.091 ms) : 2036, 2145
. : milestone, 2091,
tracing (2.069 ms) : 2015, 2122
. : milestone, 2069,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~f34cb203d4, baseline=1.61.0-SNAPSHOT~517a89d1ec3
dateFormat X
axisFormat %s
section baseline
no_agent (14.707 s) : 14707000, 14707000
. : milestone, 14707000,
appsec (14.904 s) : 14904000, 14904000
. : milestone, 14904000,
iast (18.303 s) : 18303000, 18303000
. : milestone, 18303000,
iast_GLOBAL (17.723 s) : 17723000, 17723000
. : milestone, 17723000,
profiling (14.757 s) : 14757000, 14757000
. : milestone, 14757000,
tracing (14.793 s) : 14793000, 14793000
. : milestone, 14793000,
section candidate
no_agent (15.587 s) : 15587000, 15587000
. : milestone, 15587000,
appsec (14.879 s) : 14879000, 14879000
. : milestone, 14879000,
iast (18.477 s) : 18477000, 18477000
. : milestone, 18477000,
iast_GLOBAL (17.87 s) : 17870000, 17870000
. : milestone, 17870000,
profiling (14.918 s) : 14918000, 14918000
. : milestone, 14918000,
tracing (14.767 s) : 14767000, 14767000
. : milestone, 14767000,
|
smola
approved these changes
Mar 26, 2026
| } | ||
| sourceSets.main.resources.srcDir(generateAgentJarIndex) | ||
|
|
||
| def generatePomProperties = tasks.register('generatePomProperties') { |
Member
There was a problem hiding this comment.
I wonder if there isn't some built-in Gradle option to generate this.
But in the absence of it (cc @bric3?), looks good to me.
Contributor
There was a problem hiding this comment.
I added @bric3 as reviewer about the task definition (input / output / cache / ordering / etc...)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
Adds a
generatePomPropertiesGradle task that generatesMETA-INF/maven/com.datadoghq/dd-java-agent/pom.propertiesat build time withgroupId,artifactId, andversion. The output directory is wired as a resource source dir so it is automatically included in the shadow JAR.Motivation
The SCA dependency pipeline (
LocationsCollectingTransformer→DependencyResolver→JarReader) detects dependencies by readingMETA-INF/maven/**/pom.propertiesfrom JARs. Without its ownpom.properties, the tracer was invisible to its own SCA inventory — the tool couldn't report the version of itself that was running.Jira ticket: APPSEC-61920