-
Notifications
You must be signed in to change notification settings - Fork 311
Nikita tkachenko/junit 6 #9264
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
base: master
Are you sure you want to change the base?
Nikita tkachenko/junit 6 #9264
Conversation
You also may consider to delete |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 13 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.045 s) : 0, 1044507
Total [baseline] (10.72 s) : 0, 10719596
Agent [candidate] (1.048 s) : 0, 1047712
Total [candidate] (10.669 s) : 0, 10668689
section appsec
Agent [baseline] (1.217 s) : 0, 1217480
Total [baseline] (10.721 s) : 0, 10720973
Agent [candidate] (1.219 s) : 0, 1218515
Total [candidate] (10.742 s) : 0, 10741851
section iast
Agent [baseline] (1.183 s) : 0, 1182608
Total [baseline] (10.875 s) : 0, 10875136
Agent [candidate] (1.18 s) : 0, 1180411
Total [candidate] (10.936 s) : 0, 10935743
section profiling
Agent [baseline] (1.191 s) : 0, 1191377
Total [baseline] (10.814 s) : 0, 10813951
Agent [candidate] (1.202 s) : 0, 1201576
Total [candidate] (10.839 s) : 0, 10838941
gantt
title petclinic - break down per module: candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.427 ms) : 0, 1427
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (731.579 ms) : 0, 731579
BytebuddyAgent [candidate] (731.926 ms) : 0, 731926
GlobalTracer [baseline] (241.949 ms) : 0, 241949
GlobalTracer [candidate] (242.36 ms) : 0, 242360
AppSec [baseline] (30.034 ms) : 0, 30034
AppSec [candidate] (30.05 ms) : 0, 30050
Debugger [baseline] (6.037 ms) : 0, 6037
Debugger [candidate] (6.027 ms) : 0, 6027
Remote Config [baseline] (644.665 µs) : 0, 645
Remote Config [candidate] (653.383 µs) : 0, 653
Telemetry [baseline] (11.871 ms) : 0, 11871
Telemetry [candidate] (14.203 ms) : 0, 14203
section appsec
crashtracking [baseline] (1.43 ms) : 0, 1430
crashtracking [candidate] (1.426 ms) : 0, 1426
BytebuddyAgent [baseline] (751.745 ms) : 0, 751745
BytebuddyAgent [candidate] (752.355 ms) : 0, 752355
GlobalTracer [baseline] (234.443 ms) : 0, 234443
GlobalTracer [candidate] (234.804 ms) : 0, 234804
AppSec [baseline] (170.042 ms) : 0, 170042
AppSec [candidate] (169.312 ms) : 0, 169312
Debugger [baseline] (5.681 ms) : 0, 5681
Debugger [candidate] (7.141 ms) : 0, 7141
Remote Config [baseline] (616.282 µs) : 0, 616
Remote Config [candidate] (619.313 µs) : 0, 619
Telemetry [baseline] (9.118 ms) : 0, 9118
Telemetry [candidate] (8.311 ms) : 0, 8311
IAST [baseline] (23.427 ms) : 0, 23427
IAST [candidate] (23.507 ms) : 0, 23507
section iast
crashtracking [baseline] (1.45 ms) : 0, 1450
crashtracking [candidate] (1.438 ms) : 0, 1438
BytebuddyAgent [baseline] (855.333 ms) : 0, 855333
BytebuddyAgent [candidate] (852.23 ms) : 0, 852230
GlobalTracer [baseline] (232.368 ms) : 0, 232368
GlobalTracer [candidate] (232.93 ms) : 0, 232930
AppSec [baseline] (25.999 ms) : 0, 25999
AppSec [candidate] (26.344 ms) : 0, 26344
Debugger [baseline] (9.952 ms) : 0, 9952
Debugger [candidate] (9.28 ms) : 0, 9280
Remote Config [baseline] (573.661 µs) : 0, 574
Remote Config [candidate] (591.502 µs) : 0, 592
Telemetry [baseline] (8.213 ms) : 0, 8213
Telemetry [candidate] (8.383 ms) : 0, 8383
IAST [baseline] (27.545 ms) : 0, 27545
IAST [candidate] (28.127 ms) : 0, 28127
section profiling
crashtracking [baseline] (1.397 ms) : 0, 1397
crashtracking [candidate] (1.421 ms) : 0, 1421
BytebuddyAgent [baseline] (758.342 ms) : 0, 758342
BytebuddyAgent [candidate] (765.868 ms) : 0, 765868
GlobalTracer [baseline] (221.164 ms) : 0, 221164
GlobalTracer [candidate] (223.018 ms) : 0, 223018
AppSec [baseline] (29.734 ms) : 0, 29734
AppSec [candidate] (30.211 ms) : 0, 30211
Debugger [baseline] (6.244 ms) : 0, 6244
Debugger [candidate] (6.275 ms) : 0, 6275
Remote Config [baseline] (718.957 µs) : 0, 719
Remote Config [candidate] (696.976 µs) : 0, 697
Telemetry [baseline] (15.13 ms) : 0, 15130
Telemetry [candidate] (16.265 ms) : 0, 16265
ProfilingAgent [baseline] (109.15 ms) : 0, 109150
ProfilingAgent [candidate] (107.894 ms) : 0, 107894
Profiling [baseline] (109.801 ms) : 0, 109801
Profiling [candidate] (108.545 ms) : 0, 108545
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1043590
Total [baseline] (8.591 s) : 0, 8590959
Agent [candidate] (1.046 s) : 0, 1045530
Total [candidate] (8.571 s) : 0, 8571425
section iast
Agent [baseline] (1.176 s) : 0, 1176342
Total [baseline] (9.293 s) : 0, 9293313
Agent [candidate] (1.184 s) : 0, 1183758
Total [candidate] (9.32 s) : 0, 9320464
gantt
title insecure-bank - break down per module: candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.422 ms) : 0, 1422
crashtracking [candidate] (1.436 ms) : 0, 1436
BytebuddyAgent [baseline] (730.862 ms) : 0, 730862
BytebuddyAgent [candidate] (731.406 ms) : 0, 731406
GlobalTracer [baseline] (241.562 ms) : 0, 241562
GlobalTracer [candidate] (242.187 ms) : 0, 242187
AppSec [baseline] (30.023 ms) : 0, 30023
AppSec [candidate] (30.035 ms) : 0, 30035
Debugger [baseline] (6.013 ms) : 0, 6013
Debugger [candidate] (6.011 ms) : 0, 6011
Remote Config [baseline] (643.551 µs) : 0, 644
Remote Config [candidate] (645.772 µs) : 0, 646
Telemetry [baseline] (12.047 ms) : 0, 12047
Telemetry [candidate] (12.778 ms) : 0, 12778
section iast
crashtracking [baseline] (1.42 ms) : 0, 1420
crashtracking [candidate] (1.448 ms) : 0, 1448
BytebuddyAgent [baseline] (849.06 ms) : 0, 849060
BytebuddyAgent [candidate] (855.88 ms) : 0, 855880
GlobalTracer [baseline] (232.354 ms) : 0, 232354
GlobalTracer [candidate] (234.162 ms) : 0, 234162
AppSec [baseline] (27.589 ms) : 0, 27589
AppSec [candidate] (28.314 ms) : 0, 28314
Debugger [baseline] (7.512 ms) : 0, 7512
Debugger [candidate] (5.699 ms) : 0, 5699
Remote Config [baseline] (591.59 µs) : 0, 592
Remote Config [candidate] (578.717 µs) : 0, 579
Telemetry [baseline] (8.354 ms) : 0, 8354
Telemetry [candidate] (9.072 ms) : 0, 9072
IAST [baseline] (28.475 ms) : 0, 28475
IAST [candidate] (27.509 ms) : 0, 27509
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 11 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section baseline
no_agent (37.328 ms) : 37023, 37633
. : milestone, 37328,
appsec (46.267 ms) : 45854, 46680
. : milestone, 46267,
code_origins (45.926 ms) : 45534, 46318
. : milestone, 45926,
iast (45.114 ms) : 44718, 45511
. : milestone, 45114,
profiling (48.338 ms) : 47845, 48830
. : milestone, 48338,
tracing (44.778 ms) : 44392, 45164
. : milestone, 44778,
section candidate
no_agent (36.803 ms) : 36508, 37098
. : milestone, 36803,
appsec (48.737 ms) : 48302, 49173
. : milestone, 48737,
code_origins (46.159 ms) : 45753, 46564
. : milestone, 46159,
iast (46.209 ms) : 45807, 46610
. : milestone, 46209,
profiling (49.189 ms) : 48720, 49658
. : milestone, 49189,
tracing (45.845 ms) : 45454, 46235
. : milestone, 45845,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section baseline
no_agent (4.378 ms) : 4328, 4428
. : milestone, 4378,
iast (9.427 ms) : 9273, 9580
. : milestone, 9427,
iast_FULL (13.794 ms) : 13520, 14069
. : milestone, 13794,
iast_GLOBAL (10.471 ms) : 10287, 10655
. : milestone, 10471,
profiling (8.776 ms) : 8639, 8913
. : milestone, 8776,
tracing (7.672 ms) : 7561, 7782
. : milestone, 7672,
section candidate
no_agent (4.393 ms) : 4343, 4443
. : milestone, 4393,
iast (9.393 ms) : 9242, 9545
. : milestone, 9393,
iast_FULL (13.631 ms) : 13359, 13904
. : milestone, 13631,
iast_GLOBAL (10.606 ms) : 10409, 10802
. : milestone, 10606,
profiling (8.998 ms) : 8841, 9155
. : milestone, 8998,
tracing (7.651 ms) : 7544, 7758
. : milestone, 7651,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section baseline
no_agent (15.495 s) : 15495000, 15495000
. : milestone, 15495000,
appsec (14.844 s) : 14844000, 14844000
. : milestone, 14844000,
iast (18.769 s) : 18769000, 18769000
. : milestone, 18769000,
iast_GLOBAL (18.05 s) : 18050000, 18050000
. : milestone, 18050000,
profiling (15.535 s) : 15535000, 15535000
. : milestone, 15535000,
tracing (14.984 s) : 14984000, 14984000
. : milestone, 14984000,
section candidate
no_agent (15.557 s) : 15557000, 15557000
. : milestone, 15557000,
appsec (14.833 s) : 14833000, 14833000
. : milestone, 14833000,
iast (18.502 s) : 18502000, 18502000
. : milestone, 18502000,
iast_GLOBAL (18.136 s) : 18136000, 18136000
. : milestone, 18136000,
profiling (15.278 s) : 15278000, 15278000
. : milestone, 15278000,
tracing (15.198 s) : 15198000, 15198000
. : milestone, 15198000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~7c7286a04f, baseline=1.53.0-SNAPSHOT~5ed2f5961b
dateFormat X
axisFormat %s
section baseline
no_agent (1.484 ms) : 1472, 1495
. : milestone, 1484,
appsec (2.495 ms) : 2442, 2548
. : milestone, 2495,
iast (2.204 ms) : 2141, 2267
. : milestone, 2204,
iast_GLOBAL (2.259 ms) : 2196, 2322
. : milestone, 2259,
profiling (2.51 ms) : 2342, 2678
. : milestone, 2510,
tracing (2.026 ms) : 1976, 2075
. : milestone, 2026,
section candidate
no_agent (1.488 ms) : 1477, 1500
. : milestone, 1488,
appsec (3.669 ms) : 3453, 3886
. : milestone, 3669,
iast (2.212 ms) : 2150, 2275
. : milestone, 2212,
iast_GLOBAL (2.258 ms) : 2195, 2321
. : milestone, 2258,
profiling (2.051 ms) : 2001, 2101
. : milestone, 2051,
tracing (2.05 ms) : 2001, 2100
. : milestone, 2050,
|
6193b75
to
c25d437
Compare
f11f8af
to
8034e05
Compare
8034e05
to
4d6445f
Compare
Kafka / producer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
Kafka / consumer-benchmarkParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. See unchanged results
|
Code coverage: total 59.60%, base diff 2.28%, patch 100.00% (view details) This comment will be updated automatically if new data arrives.🔗 Commit SHA: 7c7286a | Docs | Was this helpful? Give us feedback! |
KeyClass | true | true | ||
UntransformableKeyClass | false | false | ||
ValidSerializableKeyClass | true | true | ||
InvalidSerializableKeyClass | true | true | ||
ValidInheritsSerializableKeyClass | true | true | ||
InvalidInheritsSerializableKeyClass | true | true |
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.
Is there a way to keep formatting?
here and couple of similar places
What Does This Do
Migrates
AgentTestRunner
(base class for instrumentation tests) from JUnit4-basedSpockRunner
to JUnit5-basedSpockExtension
.Motivation
Required for JDK 25 and JUnit 6 support.
The tracer uses a Spock version that runs on top of JUnit 5. We were using
JUnitPlatformRunner
to execute tests "in a JUnit 4 environment".Starting from JUnit 6 the platform runner is no longer supported so we have to fully migrate to JUnit 5.
Additional Notes
Instrumentation tests need to patch the bootstrap classpath adding some core tracer classes to it.
The classes added to the bootstrap classpath cannot be loaded before the classpath patching takes place - if they're loaded by the application classloader first, then these application CP versions will shadow the bootstrap ones.
When running instrumentation tests with JUnit 5 this becomes a problem: the framework scans classpath to determine which tests to run. When scanning the classpath, it loads classes - including the classes should be appended to the bootstrap classpath.
To make sure classpath patching happens before scanning a custom
org.junit.platform.launcher.LauncherSessionListener
implementation was added:datadog.trace.agent.test.BootstrapClasspathSetup
.LauncherSessionListener
implementations are discovered using Java ServiceLoader fromMETA-INF/services/org.junit.platform.launcher.LauncherSessionListener
files available on the classpath.The overridden
org.junit.platform.launcher.LauncherSessionListener#launcherSessionOpened
method is executed early in the testing framework lifecycle - before the classpath scanning occurs.The problem with this approach is that it will trigger classpath patching for every execution that has
BootstrapClasspathSetup
in the classpath.This includes regular unit tests, where patching the bootstrap classpath caused failures in some cases.
To avoid this,
BootstrapClasspathSetup
was moved to a new Gradle moduleinstrumentation-testing
, which is only added to the dependencies of the instrumentation modules that need it.There was another problem with the
agent-iast
module - it includedtestFixtures
that depended on theAgentTestRunner
, yet loading it (and triggering the classpath patch) caused the unit tests in this module to fail.To mitigate this,
testFixtures
were moved to a separate new module -iast-testing
.The same had to be done with test fixtures in
agent-civisbility
andappsec
modules - they were split into a separatecivisibility-testing
andappsec-testing
modules.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: [PROJ-IDENT]