Skip to content

Fix tracing JUnit5 tests in Maven projects with multiple forks - #8086

Merged
nikita-tkachenko-datadog merged 1 commit into
masterfrom
nikita-tkachenko/fix-maven-multiple-forks
Dec 13, 2024
Merged

Fix tracing JUnit5 tests in Maven projects with multiple forks#8086
nikita-tkachenko-datadog merged 1 commit into
masterfrom
nikita-tkachenko/fix-maven-multiple-forks

Conversation

@nikita-tkachenko-datadog

@nikita-tkachenko-datadognikita-tkachenko-datadog commented Dec 13, 2024

Copy link
Copy Markdown
Contributor

What Does This Do

Fixes a regression introduced in release v1.44.0 (#8055).
When tracing JUnit 5 tests in Maven projects with multiple forks the following exception was seen:

[2024-12-12T17:46:36.909Z] WARNING: TestEngine with ID 'junit-jupiter' failed to discover tests [2024-12-12T17:46:36.909Z] java.lang.NullPointerException: Cannot invoke "datadog.trace.api.civisibility.events.TestEventsHandler$Factory.create(String, datadog.trace.bootstrap.ContextStore, datadog.trace.bootstrap.ContextStore)" because "datadog.trace.api.civisibility.InstrumentationBridge.TEST_EVENTS_HANDLER_FACTORY" is null [2024-12-12T17:46:36.909Z] at datadog.trace.api.civisibility.InstrumentationBridge.createTestEventsHandler(InstrumentationBridge.java:28) [2024-12-12T17:46:36.909Z] at datadog.trace.instrumentation.junit5.TestEventsHandlerHolder.start(TestEventsHandlerHolder.java:40) [2024-12-12T17:46:36.909Z] at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:66) [2024-12-12T17:46:36.909Z] at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:168) [2024-12-12T17:46:36.909Z] at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:155) [2024-12-12T17:46:36.909Z] at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:120) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.junitplatform.TestPlanScannerFilter.accept(TestPlanScannerFilter.java:56) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:102) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.scanClasspath(JUnitPlatformProvider.java:129) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.getSuites(JUnitPlatformProvider.java:100) [2024-12-12T17:46:36.909Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [2024-12-12T17:46:36.909Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) [2024-12-12T17:46:36.909Z] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [2024-12-12T17:46:36.909Z] at java.base/java.lang.reflect.Method.invoke(Method.java:569) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter(ReflectionUtils.java:76) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.util.ReflectionUtils.invokeGetter(ReflectionUtils.java:70) [2024-12-12T17:46:36.909Z] at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.getSuites(ProviderFactory.java:145) [2024-12-12T17:46:36.909Z] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.getSuitesIterator(ForkStarter.java:697) [2024-12-12T17:46:36.909Z] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.runSuitesForkOnceMultiple(ForkStarter.java:322) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:297) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:246) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.c.a(SourceFile:13) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.m.a(SourceFile:29) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.n.a(SourceFile:23) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.h.a(SourceFile:26) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.l.a(SourceFile:27) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.a.c(SourceFile:107) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.a.a(SourceFile:60) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.e.a(SourceFile:27) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.k.a(SourceFile:17) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.d.a(SourceFile:35) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.b.a(SourceFile:26) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.f$1.a(SourceFile:34) [2024-12-12T17:46:36.910Z] at org.a.c.e.r$1.a(SourceFile:29) [2024-12-12T17:46:36.910Z] at org.a.c.e.r$1.a(SourceFile:26) [2024-12-12T17:46:36.910Z] at org.a.c.e.r$2.a(SourceFile:75) [2024-12-12T17:46:36.910Z] at org.a.c.e.r$2.b(SourceFile:68) [2024-12-12T17:46:36.910Z] at org.a.c.e.r.a(SourceFile:153) [2024-12-12T17:46:36.910Z] at org.a.c.e.r.a(SourceFile:68) [2024-12-12T17:46:36.910Z] at org.a.c.e.r.a(SourceFile:56) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.f.a(SourceFile:30) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.e.j.a(SourceFile:65) [2024-12-12T17:46:36.910Z] at com.gradle.maven.a.a.i.b.a(SourceFile:52) [2024-12-12T17:46:36.910Z] at jdk.proxy11/jdk.proxy11.$Proxy65.execute(Unknown Source) [2024-12-12T17:46:36.910Z] at com.gradle.maven.scan.extension.internal.e.a.executeMojo(SourceFile:133) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162) [2024-12-12T17:46:36.910Z] at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53) [2024-12-12T17:46:36.910Z] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118) [2024-12-12T17:46:36.910Z] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261) [2024-12-12T17:46:36.910Z] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173) [2024-12-12T17:46:36.910Z] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101) [2024-12-12T17:46:36.910Z] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:903) [2024-12-12T17:46:36.910Z] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:280) [2024-12-12T17:46:36.910Z] at org.apache.maven.cli.MavenCli.main(MavenCli.java:203) [2024-12-12T17:46:36.910Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [2024-12-12T17:46:36.910Z] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) [2024-12-12T17:46:36.910Z] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [2024-12-12T17:46:36.910Z] at java.base/java.lang.reflect.Method.invoke(Method.java:569) [2024-12-12T17:46:36.910Z] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255) [2024-12-12T17:46:36.910Z] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201) [2024-12-12T17:46:36.910Z] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361) [2024-12-12T17:46:36.910Z] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)

Maven Surefire plugin can be configured to fork multiple JVMs per test task in order to parallelise tests execution in multiple processes:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<forkCount>2</forkCount>
</configuration>
</plugin>

When configure like this, Maven Surefire will invoke AbstractPlatformProvider.getSuites() in order to list available test cases and divide them between the forks.
If the tests are in JUnit 5, the platform provide will in turn invoke JupiterTestEngine.discover() to get the list of tests.

Release v1.44.0 introduced some changes in the way JUnit 5 is instrumented.
Among them was early initialisation of TestEventHandler (needed to have the handler available by the time class and method orderers were requested from JUnit).
Early initialisation happens at JupiterTestEngine.discover() - the assumption was that this method was only executed in child JVMs.
Since in the parent JVM (Maven build process) TestEventHandler factory is not configured, early initialisation caused NPEs.

The fix is to create a no-op TestEventHandler implementation in the parent process as a stub, so that the instrumentation does not fail.

Contributor Checklist

Jira ticket: SDTEST-1336

@nikita-tkachenko-datadognikita-tkachenko-datadog added type: bug fix Bug fix comp: ci visibility Continuous Integration Visibility labels Dec 13, 2024
@nikita-tkachenko-datadog
nikita-tkachenko-datadog marked this pull request as ready for review December 13, 2024 13:57
@pr-commenter

pr-commenterBot commented Dec 13, 2024

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasternikita-tkachenko/fix-maven-multiple-forks
git_commit_date17340859471734098269
git_commit_shabaedf8d56d64ad
release_version1.45.0-SNAPSHOT~baedf8dd571.45.0-SNAPSHOT~56d64adbf0
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17341006761734100676
ci_job_id738380439738380439
ci_pipeline_id5107417851074178
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
moduleAgentAgent
parentNoneNone
variantiastiast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 52 metrics, 11 unstable metrics.

Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093141
Total [baseline] (8.707 s) : 0, 8706796
Agent [candidate] (1.105 s) : 0, 1104933
Total [candidate] (8.683 s) : 0, 8683163
section iast
Agent [baseline] (1.222 s) : 0, 1221501
Total [baseline] (9.217 s) : 0, 9216591
Agent [candidate] (1.22 s) : 0, 1220245
Total [candidate] (9.214 s) : 0, 9214421
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.22 s) : 0, 1220421
Total [baseline] (9.173 s) : 0, 9172708
Agent [candidate] (1.237 s) : 0, 1236759
Total [candidate] (9.248 s) : 0, 9247854
section iast_TELEMETRY_OFF
Agent [baseline] (1.226 s) : 0, 1225819
Total [baseline] (9.262 s) : 0, 9262163
Agent [candidate] (1.216 s) : 0, 1215588
Total [candidate] (9.193 s) : 0, 9192630
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.093 s-
Agentiast1.222 s128.36 ms (11.7%)
Agentiast_HARDCODED_SECRET_DISABLED1.22 s127.28 ms (11.6%)
Agentiast_TELEMETRY_OFF1.226 s132.678 ms (12.1%)
Totaltracing8.707 s-
Totaliast9.217 s509.795 ms (5.9%)
Totaliast_HARDCODED_SECRET_DISABLED9.173 s465.912 ms (5.4%)
Totaliast_TELEMETRY_OFF9.262 s555.367 ms (6.4%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.105 s-
Agentiast1.22 s115.312 ms (10.4%)
Agentiast_HARDCODED_SECRET_DISABLED1.237 s131.825 ms (11.9%)
Agentiast_TELEMETRY_OFF1.216 s110.654 ms (10.0%)
Totaltracing8.683 s-
Totaliast9.214 s531.259 ms (6.1%)
Totaliast_HARDCODED_SECRET_DISABLED9.248 s564.692 ms (6.5%)
Totaliast_TELEMETRY_OFF9.193 s509.467 ms (5.9%)
gantt
title insecure-bank - break down per module: candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.032 ms) : 0, 696032
BytebuddyAgent [candidate] (705.466 ms) : 0, 705466
GlobalTracer [baseline] (316.748 ms) : 0, 316748
GlobalTracer [candidate] (319.03 ms) : 0, 319030
AppSec [baseline] (54.6 ms) : 0, 54600
AppSec [candidate] (55.202 ms) : 0, 55202
Remote Config [baseline] (677.28 µs) : 0, 677
Remote Config [candidate] (693.757 µs) : 0, 694
Telemetry [baseline] (11.37 ms) : 0, 11370
Telemetry [candidate] (10.62 ms) : 0, 10620
section iast
BytebuddyAgent [baseline] (814.173 ms) : 0, 814173
BytebuddyAgent [candidate] (813.284 ms) : 0, 813284
GlobalTracer [baseline] (305.684 ms) : 0, 305684
GlobalTracer [candidate] (306.127 ms) : 0, 306127
AppSec [baseline] (56.775 ms) : 0, 56775
AppSec [candidate] (57.858 ms) : 0, 57858
IAST [baseline] (22.896 ms) : 0, 22896
IAST [candidate] (21.101 ms) : 0, 21101
Remote Config [baseline] (627.548 µs) : 0, 628
Remote Config [candidate] (632.274 µs) : 0, 632
Telemetry [baseline] (7.618 ms) : 0, 7618
Telemetry [candidate] (7.494 ms) : 0, 7494
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (813.875 ms) : 0, 813875
BytebuddyAgent [candidate] (823.295 ms) : 0, 823295
GlobalTracer [baseline] (305.571 ms) : 0, 305571
GlobalTracer [candidate] (310.301 ms) : 0, 310301
AppSec [baseline] (57.168 ms) : 0, 57168
AppSec [candidate] (58.364 ms) : 0, 58364
IAST [baseline] (21.946 ms) : 0, 21946
IAST [candidate] (22.656 ms) : 0, 22656
Remote Config [baseline] (624.897 µs) : 0, 625
Remote Config [candidate] (642.654 µs) : 0, 643
Telemetry [baseline] (7.474 ms) : 0, 7474
Telemetry [candidate] (7.62 ms) : 0, 7620
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (816.579 ms) : 0, 816579
BytebuddyAgent [candidate] (809.945 ms) : 0, 809945
GlobalTracer [baseline] (307.422 ms) : 0, 307422
GlobalTracer [candidate] (305.362 ms) : 0, 305362
AppSec [baseline] (58.061 ms) : 0, 58061
AppSec [candidate] (57.134 ms) : 0, 57134
IAST [baseline] (21.815 ms) : 0, 21815
IAST [candidate] (21.382 ms) : 0, 21382
Remote Config [baseline] (637.322 µs) : 0, 637
Remote Config [candidate] (635.745 µs) : 0, 636
Telemetry [baseline] (7.473 ms) : 0, 7473
Telemetry [candidate] (7.309 ms) : 0, 7309
Loading
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.089 s) : 0, 1089312
Total [baseline] (10.418 s) : 0, 10418143
Agent [candidate] (1.09 s) : 0, 1089514
Total [candidate] (10.47 s) : 0, 10469598
section appsec
Agent [baseline] (1.227 s) : 0, 1227306
Total [baseline] (10.709 s) : 0, 10708629
Agent [candidate] (1.227 s) : 0, 1226906
Total [candidate] (10.725 s) : 0, 10725049
section iast
Agent [baseline] (1.231 s) : 0, 1231114
Total [baseline] (10.994 s) : 0, 10993550
Agent [candidate] (1.224 s) : 0, 1223617
Total [candidate] (10.989 s) : 0, 10989231
section profiling
Agent [baseline] (1.316 s) : 0, 1316329
Total [baseline] (10.778 s) : 0, 10777897
Agent [candidate] (1.322 s) : 0, 1322479
Total [candidate] (10.812 s) : 0, 10812460
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.089 s-
Agentappsec1.227 s137.995 ms (12.7%)
Agentiast1.231 s141.802 ms (13.0%)
Agentprofiling1.316 s227.018 ms (20.8%)
Totaltracing10.418 s-
Totalappsec10.709 s290.486 ms (2.8%)
Totaliast10.994 s575.407 ms (5.5%)
Totalprofiling10.778 s359.754 ms (3.5%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.09 s-
Agentappsec1.227 s137.392 ms (12.6%)
Agentiast1.224 s134.103 ms (12.3%)
Agentprofiling1.322 s232.965 ms (21.4%)
Totaltracing10.47 s-
Totalappsec10.725 s255.451 ms (2.4%)
Totaliast10.989 s519.632 ms (5.0%)
Totalprofiling10.812 s342.861 ms (3.3%)
gantt
title petclinic - break down per module: candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (693.635 ms) : 0, 693635
BytebuddyAgent [candidate] (695.143 ms) : 0, 695143
GlobalTracer [baseline] (316.26 ms) : 0, 316260
GlobalTracer [candidate] (316.458 ms) : 0, 316458
AppSec [baseline] (54.499 ms) : 0, 54499
AppSec [candidate] (54.887 ms) : 0, 54887
Remote Config [baseline] (694.094 µs) : 0, 694
Remote Config [candidate] (706.451 µs) : 0, 706
Telemetry [baseline] (10.548 ms) : 0, 10548
Telemetry [candidate] (8.592 ms) : 0, 8592
section appsec
BytebuddyAgent [baseline] (713.463 ms) : 0, 713463
BytebuddyAgent [candidate] (712.957 ms) : 0, 712957
GlobalTracer [baseline] (314.271 ms) : 0, 314271
GlobalTracer [candidate] (314.47 ms) : 0, 314470
AppSec [baseline] (167.642 ms) : 0, 167642
AppSec [candidate] (167.331 ms) : 0, 167331
IAST [baseline] (19.719 ms) : 0, 19719
IAST [candidate] (19.918 ms) : 0, 19918
Remote Config [baseline] (644.224 µs) : 0, 644
Remote Config [candidate] (645.875 µs) : 0, 646
Telemetry [baseline] (7.722 ms) : 0, 7722
Telemetry [candidate] (7.837 ms) : 0, 7837
section iast
BytebuddyAgent [baseline] (820.588 ms) : 0, 820588
BytebuddyAgent [candidate] (815.652 ms) : 0, 815652
GlobalTracer [baseline] (308.931 ms) : 0, 308931
GlobalTracer [candidate] (306.785 ms) : 0, 306785
AppSec [baseline] (57.601 ms) : 0, 57601
AppSec [candidate] (57.272 ms) : 0, 57272
IAST [baseline] (22.016 ms) : 0, 22016
IAST [candidate] (22.036 ms) : 0, 22036
Remote Config [baseline] (633.273 µs) : 0, 633
Remote Config [candidate] (626.542 µs) : 0, 627
Telemetry [baseline] (7.527 ms) : 0, 7527
Telemetry [candidate] (7.5 ms) : 0, 7500
section profiling
BytebuddyAgent [baseline] (688.571 ms) : 0, 688571
BytebuddyAgent [candidate] (693.251 ms) : 0, 693251
GlobalTracer [baseline] (432.849 ms) : 0, 432849
GlobalTracer [candidate] (434.191 ms) : 0, 434191
AppSec [baseline] (53.472 ms) : 0, 53472
AppSec [candidate] (53.811 ms) : 0, 53811
Remote Config [baseline] (668.258 µs) : 0, 668
Remote Config [candidate] (703.491 µs) : 0, 703
Telemetry [baseline] (7.623 ms) : 0, 7623
Telemetry [candidate] (7.668 ms) : 0, 7668
ProfilingAgent [baseline] (93.846 ms) : 0, 93846
ProfilingAgent [candidate] (93.455 ms) : 0, 93455
Profiling [baseline] (93.869 ms) : 0, 93869
Profiling [candidate] (93.479 ms) : 0, 93479
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
end_time2024-12-13T14:08:032024-12-13T14:15:02
git_branchmasternikita-tkachenko/fix-maven-multiple-forks
git_commit_date17340859471734098269
git_commit_shabaedf8d56d64ad
release_version1.45.0-SNAPSHOT~baedf8dd571.45.0-SNAPSHOT~56d64adbf0
start_time2024-12-13T14:07:502024-12-13T14:14:49
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17340996571734099657
ci_job_id738380440738380440
ci_pipeline_id5107417851074178
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variantiastiast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 15 unstable metrics.

Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section baseline
no_agent (374.545 µs) : 354, 395
. : milestone, 375,
iast (488.724 µs) : 467, 510
. : milestone, 489,
iast_FULL (651.365 µs) : 630, 673
. : milestone, 651,
iast_GLOBAL (519.641 µs) : 498, 541
. : milestone, 520,
iast_HARDCODED_SECRET_DISABLED (493.397 µs) : 472, 515
. : milestone, 493,
iast_INACTIVE (455.184 µs) : 434, 476
. : milestone, 455,
iast_TELEMETRY_OFF (480.479 µs) : 459, 502
. : milestone, 480,
tracing (454.371 µs) : 433, 475
. : milestone, 454,
section candidate
no_agent (376.948 µs) : 357, 397
. : milestone, 377,
iast (496.18 µs) : 475, 518
. : milestone, 496,
iast_FULL (653.959 µs) : 632, 676
. : milestone, 654,
iast_GLOBAL (529.558 µs) : 507, 552
. : milestone, 530,
iast_HARDCODED_SECRET_DISABLED (488.618 µs) : 467, 510
. : milestone, 489,
iast_INACTIVE (450.317 µs) : 429, 471
. : milestone, 450,
iast_TELEMETRY_OFF (481.742 µs) : 460, 503
. : milestone, 482,
tracing (455.848 µs) : 435, 477
. : milestone, 456,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent374.545 µs [354.18 µs, 394.909 µs]-
iast488.724 µs [467.494 µs, 509.955 µs]114.18 µs (30.5%)
iast_FULL651.365 µs [629.811 µs, 672.918 µs]276.82 µs (73.9%)
iast_GLOBAL519.641 µs [497.934 µs, 541.347 µs]145.096 µs (38.7%)
iast_HARDCODED_SECRET_DISABLED493.397 µs [471.528 µs, 515.266 µs]118.852 µs (31.7%)
iast_INACTIVE455.184 µs [434.012 µs, 476.356 µs]80.64 µs (21.5%)
iast_TELEMETRY_OFF480.479 µs [458.836 µs, 502.123 µs]105.935 µs (28.3%)
tracing454.371 µs [433.368 µs, 475.374 µs]79.827 µs (21.3%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent376.948 µs [357.186 µs, 396.709 µs]-
iast496.18 µs [474.64 µs, 517.721 µs]119.232 µs (31.6%)
iast_FULL653.959 µs [632.415 µs, 675.502 µs]277.011 µs (73.5%)
iast_GLOBAL529.558 µs [507.154 µs, 551.961 µs]152.61 µs (40.5%)
iast_HARDCODED_SECRET_DISABLED488.618 µs [467.189 µs, 510.047 µs]111.67 µs (29.6%)
iast_INACTIVE450.317 µs [429.439 µs, 471.196 µs]73.369 µs (19.5%)
iast_TELEMETRY_OFF481.742 µs [460.269 µs, 503.215 µs]104.794 µs (27.8%)
tracing455.848 µs [434.748 µs, 476.948 µs]78.9 µs (20.9%)
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section baseline
no_agent (1.35 ms) : 1331, 1368
. : milestone, 1350,
appsec (1.753 ms) : 1730, 1776
. : milestone, 1753,
appsec_no_iast (1.776 ms) : 1751, 1800
. : milestone, 1776,
iast (1.493 ms) : 1471, 1515
. : milestone, 1493,
profiling (1.535 ms) : 1510, 1559
. : milestone, 1535,
tracing (1.494 ms) : 1469, 1519
. : milestone, 1494,
section candidate
no_agent (1.355 ms) : 1336, 1374
. : milestone, 1355,
appsec (1.759 ms) : 1735, 1783
. : milestone, 1759,
appsec_no_iast (1.766 ms) : 1739, 1793
. : milestone, 1766,
iast (1.511 ms) : 1488, 1533
. : milestone, 1511,
profiling (1.561 ms) : 1536, 1586
. : milestone, 1561,
tracing (1.505 ms) : 1480, 1529
. : milestone, 1505,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.35 ms [1.331 ms, 1.368 ms]-
appsec1.753 ms [1.73 ms, 1.776 ms]403.757 µs (29.9%)
appsec_no_iast1.776 ms [1.751 ms, 1.8 ms]425.925 µs (31.6%)
iast1.493 ms [1.471 ms, 1.515 ms]143.461 µs (10.6%)
profiling1.535 ms [1.51 ms, 1.559 ms]184.98 µs (13.7%)
tracing1.494 ms [1.469 ms, 1.519 ms]144.624 µs (10.7%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.355 ms [1.336 ms, 1.374 ms]-
appsec1.759 ms [1.735 ms, 1.783 ms]403.982 µs (29.8%)
appsec_no_iast1.766 ms [1.739 ms, 1.793 ms]411.164 µs (30.3%)
iast1.511 ms [1.488 ms, 1.533 ms]155.569 µs (11.5%)
profiling1.561 ms [1.536 ms, 1.586 ms]205.936 µs (15.2%)
tracing1.505 ms [1.48 ms, 1.529 ms]149.423 µs (11.0%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasternikita-tkachenko/fix-maven-multiple-forks
git_commit_date17340859471734098269
git_commit_shabaedf8d56d64ad
release_version1.45.0-SNAPSHOT~baedf8dd571.45.0-SNAPSHOT~56d64adbf0
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17341001961734100196
ci_job_id738380441738380441
ci_pipeline_id5107417851074178
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variantappsecappsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
. : milestone, 1477,
appsec (2.365 ms) : 2323, 2407
. : milestone, 2365,
iast (2.096 ms) : 2043, 2149
. : milestone, 2096,
iast_GLOBAL (2.148 ms) : 2094, 2202
. : milestone, 2148,
profiling (1.965 ms) : 1922, 2007
. : milestone, 1965,
tracing (1.943 ms) : 1903, 1984
. : milestone, 1943,
section candidate
no_agent (1.472 ms) : 1460, 1483
. : milestone, 1472,
appsec (2.358 ms) : 2316, 2400
. : milestone, 2358,
iast (2.086 ms) : 2033, 2138
. : milestone, 2086,
iast_GLOBAL (2.145 ms) : 2092, 2198
. : milestone, 2145,
profiling (1.963 ms) : 1921, 2006
. : milestone, 1963,
tracing (1.935 ms) : 1894, 1975
. : milestone, 1935,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.477 ms [1.466 ms, 1.489 ms]-
appsec2.365 ms [2.323 ms, 2.407 ms]887.422 µs (60.1%)
iast2.096 ms [2.043 ms, 2.149 ms]618.718 µs (41.9%)
iast_GLOBAL2.148 ms [2.094 ms, 2.202 ms]670.707 µs (45.4%)
profiling1.965 ms [1.922 ms, 2.007 ms]487.612 µs (33.0%)
tracing1.943 ms [1.903 ms, 1.984 ms]466.049 µs (31.5%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.472 ms [1.46 ms, 1.483 ms]-
appsec2.358 ms [2.316 ms, 2.4 ms]885.968 µs (60.2%)
iast2.086 ms [2.033 ms, 2.138 ms]613.784 µs (41.7%)
iast_GLOBAL2.145 ms [2.092 ms, 2.198 ms]673.135 µs (45.7%)
profiling1.963 ms [1.921 ms, 2.006 ms]491.575 µs (33.4%)
tracing1.935 ms [1.894 ms, 1.975 ms]462.827 µs (31.4%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.45.0-SNAPSHOT~56d64adbf0, baseline=1.45.0-SNAPSHOT~baedf8dd57
dateFormat X
axisFormat %s
section baseline
no_agent (15.488 s) : 15488000, 15488000
. : milestone, 15488000,
appsec (15.034 s) : 15034000, 15034000
. : milestone, 15034000,
iast (18.684 s) : 18684000, 18684000
. : milestone, 18684000,
iast_GLOBAL (18.066 s) : 18066000, 18066000
. : milestone, 18066000,
profiling (15.316 s) : 15316000, 15316000
. : milestone, 15316000,
tracing (14.861 s) : 14861000, 14861000
. : milestone, 14861000,
section candidate
no_agent (15.59 s) : 15590000, 15590000
. : milestone, 15590000,
appsec (14.911 s) : 14911000, 14911000
. : milestone, 14911000,
iast (19.173 s) : 19173000, 19173000
. : milestone, 19173000,
iast_GLOBAL (18.321 s) : 18321000, 18321000
. : milestone, 18321000,
profiling (15.038 s) : 15038000, 15038000
. : milestone, 15038000,
tracing (14.837 s) : 14837000, 14837000
. : milestone, 14837000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.488 s [15.488 s, 15.488 s]-
appsec15.034 s [15.034 s, 15.034 s]-454.0 ms (-2.9%)
iast18.684 s [18.684 s, 18.684 s]3.196 s (20.6%)
iast_GLOBAL18.066 s [18.066 s, 18.066 s]2.578 s (16.6%)
profiling15.316 s [15.316 s, 15.316 s]-172.0 ms (-1.1%)
tracing14.861 s [14.861 s, 14.861 s]-627.0 ms (-4.0%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.59 s [15.59 s, 15.59 s]-
appsec14.911 s [14.911 s, 14.911 s]-679.0 ms (-4.4%)
iast19.173 s [19.173 s, 19.173 s]3.583 s (23.0%)
iast_GLOBAL18.321 s [18.321 s, 18.321 s]2.731 s (17.5%)
profiling15.038 s [15.038 s, 15.038 s]-552.0 ms (-3.5%)
tracing14.837 s [14.837 s, 14.837 s]-753.0 ms (-4.8%)

@nikita-tkachenko-datadog
nikita-tkachenko-datadog deleted the nikita-tkachenko/fix-maven-multiple-forks branch December 13, 2024 15:00
@github-actionsgithub-actionsBot added this to the 1.45.0 milestone Dec 13, 2024
@nikita-tkachenko-datadognikita-tkachenko-datadog added the tag: no release notes Changes to exclude from release notes label Jan 9, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: ci visibilityContinuous Integration Visibilitytag: no release notesChanges to exclude from release notestype: bug fixBug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nikita-tkachenko-datadog@anmarchenko