From 372c808eb7a52af85319cc0d6c6ed3f7d3379089 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 3 Feb 2025 16:42:32 +0100 Subject: [PATCH 01/10] obtain test management settings from settings request --- .../config/CiVisibilitySettings.java | 29 ++++++++++-- .../config/TestManagementSettings.java | 47 +++++++++++++++++++ .../TestManagementSettingsJsonAdapter.java | 24 ++++++++++ .../TestManagementSettingsSerializer.java | 26 ++++++++++ .../config/ConfigurationApiImplTest.groovy | 8 ++-- ...estManagementSettingsSerializerTest.groovy | 24 ++++++++++ .../datadog/trace/api/ConfigDefaults.java | 1 + .../trace/api/config/CiVisibilityConfig.java | 2 + .../main/java/datadog/trace/api/Config.java | 12 +++++ 9 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java create mode 100644 dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java create mode 100644 dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java create mode 100644 dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/CiVisibilitySettings.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/CiVisibilitySettings.java index 49c8b79715c..f278cb43c73 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/CiVisibilitySettings.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/CiVisibilitySettings.java @@ -9,7 +9,15 @@ public class CiVisibilitySettings { public static final CiVisibilitySettings DEFAULT = new CiVisibilitySettings( - false, false, false, false, false, false, false, EarlyFlakeDetectionSettings.DEFAULT); + false, + false, + false, + false, + false, + false, + false, + EarlyFlakeDetectionSettings.DEFAULT, + TestManagementSettings.DEFAULT); private final boolean itrEnabled; private final boolean codeCoverage; @@ -19,6 +27,7 @@ public class CiVisibilitySettings { private final boolean impactedTestsDetectionEnabled; private final boolean knownTestsEnabled; private final EarlyFlakeDetectionSettings earlyFlakeDetectionSettings; + private final TestManagementSettings testManagementSettings; CiVisibilitySettings( boolean itrEnabled, @@ -28,7 +37,8 @@ public class CiVisibilitySettings { boolean flakyTestRetriesEnabled, boolean impactedTestsDetectionEnabled, boolean knownTestsEnabled, - EarlyFlakeDetectionSettings earlyFlakeDetectionSettings) { + EarlyFlakeDetectionSettings earlyFlakeDetectionSettings, + TestManagementSettings testManagementSettings) { this.itrEnabled = itrEnabled; this.codeCoverage = codeCoverage; this.testsSkipping = testsSkipping; @@ -37,6 +47,7 @@ public class CiVisibilitySettings { this.impactedTestsDetectionEnabled = impactedTestsDetectionEnabled; this.knownTestsEnabled = knownTestsEnabled; this.earlyFlakeDetectionSettings = earlyFlakeDetectionSettings; + this.testManagementSettings = testManagementSettings; } public boolean isItrEnabled() { @@ -71,6 +82,10 @@ public EarlyFlakeDetectionSettings getEarlyFlakeDetectionSettings() { return earlyFlakeDetectionSettings; } + public TestManagementSettings getTestManagementSettings() { + return testManagementSettings; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -87,7 +102,8 @@ public boolean equals(Object o) { && flakyTestRetriesEnabled == that.flakyTestRetriesEnabled && impactedTestsDetectionEnabled == that.impactedTestsDetectionEnabled && knownTestsEnabled == that.knownTestsEnabled - && Objects.equals(earlyFlakeDetectionSettings, that.earlyFlakeDetectionSettings); + && Objects.equals(earlyFlakeDetectionSettings, that.earlyFlakeDetectionSettings) + && Objects.equals(testManagementSettings, that.testManagementSettings); } @Override @@ -100,7 +116,8 @@ public int hashCode() { flakyTestRetriesEnabled, impactedTestsDetectionEnabled, knownTestsEnabled, - earlyFlakeDetectionSettings); + earlyFlakeDetectionSettings, + testManagementSettings); } public interface Factory { @@ -126,7 +143,9 @@ public CiVisibilitySettings fromJson(Map json) { getBoolean(json, "impacted_tests_enabled", false), getBoolean(json, "known_tests_enabled", false), EarlyFlakeDetectionSettingsJsonAdapter.INSTANCE.fromJson( - (Map) json.get("early_flake_detection"))); + (Map) json.get("early_flake_detection")), + TestManagementSettingsJsonAdapter.INSTANCE.fromJson( + (Map) json.get("test_management"))); } private static boolean getBoolean( diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java new file mode 100644 index 00000000000..9f367233313 --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java @@ -0,0 +1,47 @@ +package datadog.trace.civisibility.config; + +import java.util.Objects; + +public class TestManagementSettings { + + public static final TestManagementSettings DEFAULT = + new TestManagementSettings(false, -1); + + private final boolean enabled; + private int attemptToFixRetries; + + public TestManagementSettings(boolean enabled, int attemptToFixRetries) { + this.enabled = enabled; + this.attemptToFixRetries = attemptToFixRetries; + } + + public boolean isEnabled() { + return enabled; + } + + public int getAttemptToFixRetries() { + return attemptToFixRetries; + } + + public void setAttemptToFixRetries(int value) { + attemptToFixRetries = value; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + TestManagementSettings that = (TestManagementSettings) o; + return enabled == that.enabled && attemptToFixRetries == that.attemptToFixRetries; + } + + @Override + public int hashCode() { + return Objects.hash(enabled, attemptToFixRetries); + } +} diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java new file mode 100644 index 00000000000..8b105257ff0 --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java @@ -0,0 +1,24 @@ +package datadog.trace.civisibility.config; + +import com.squareup.moshi.FromJson; + +import java.util.Map; + +public class TestManagementSettingsJsonAdapter { + public static final TestManagementSettingsJsonAdapter INSTANCE = new TestManagementSettingsJsonAdapter(); + + @FromJson + public TestManagementSettings fromJson(Map json) { + if (json == null) { + return TestManagementSettings.DEFAULT; + } + + Boolean enabled = (Boolean) json.get("enabled"); + Double attemptToFixRetries = (Double) json.get("attempt_to_fix_retries"); + + return new TestManagementSettings( + enabled != null ? enabled : false, + attemptToFixRetries != null ? attemptToFixRetries.intValue() : -1 + ); + } +} diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java new file mode 100644 index 00000000000..7aded3b71f3 --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java @@ -0,0 +1,26 @@ +package datadog.trace.civisibility.config; + +import datadog.trace.civisibility.ipc.serialization.Serializer; + +import java.nio.ByteBuffer; + +public class TestManagementSettingsSerializer { + public static void serialize(Serializer serializer, TestManagementSettings settings) { + if (!settings.isEnabled()) { + serializer.write((byte) 0); + return; + } + serializer.write((byte) 1); + serializer.write(settings.getAttemptToFixRetries()); + } + + public static TestManagementSettings deserialize(ByteBuffer buf) { + boolean enabled = Serializer.readByte(buf) != 0; + if (!enabled) { + return TestManagementSettings.DEFAULT; + } + + int attemptToFixRetries = Serializer.readInt(buf); + return new TestManagementSettings(enabled, attemptToFixRetries); + } +} diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ConfigurationApiImplTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ConfigurationApiImplTest.groovy index 54a67336b2c..a7b2e50640c 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ConfigurationApiImplTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ConfigurationApiImplTest.groovy @@ -54,13 +54,13 @@ class ConfigurationApiImplTest extends Specification { where: agentless | compression | expectedSettings - false | false | new CiVisibilitySettings(false, false, false, false, false, false, false, EarlyFlakeDetectionSettings.DEFAULT) - false | true | new CiVisibilitySettings(true, true, true, true, true, true, true, EarlyFlakeDetectionSettings.DEFAULT) - true | false | new CiVisibilitySettings(false, true, false, true, false, true, false, new EarlyFlakeDetectionSettings(true, [new EarlyFlakeDetectionSettings.ExecutionsByDuration(1000, 3)], 10)) + false | false | new CiVisibilitySettings(false, false, false, false, false, false, false, EarlyFlakeDetectionSettings.DEFAULT, TestManagementSettings.DEFAULT) + false | true | new CiVisibilitySettings(true, true, true, true, true, true, true, EarlyFlakeDetectionSettings.DEFAULT, TestManagementSettings.DEFAULT) + true | false | new CiVisibilitySettings(false, true, false, true, false, true, false, new EarlyFlakeDetectionSettings(true, [new EarlyFlakeDetectionSettings.ExecutionsByDuration(1000, 3)], 10), new TestManagementSettings(true, 10)) true | true | new CiVisibilitySettings(false, false, true, true, false, false, true, new EarlyFlakeDetectionSettings(true, [ new EarlyFlakeDetectionSettings.ExecutionsByDuration(5000, 3), new EarlyFlakeDetectionSettings.ExecutionsByDuration(120000, 2) - ], 10)) + ], 10), new TestManagementSettings(true, 20)) } def "test skippable tests request"() { diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy new file mode 100644 index 00000000000..b31a20a2716 --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy @@ -0,0 +1,24 @@ +package datadog.trace.civisibility.config + +import datadog.trace.civisibility.ipc.serialization.Serializer +import spock.lang.Specification + +class TestManagementSettingsSerializerTest extends Specification { + def "test TestManagementSettings serialization: #iterationIndex"() { + when: + Serializer s = new Serializer() + TestManagementSettingsSerializer.serialize(s, settings) + + def buffer = s.flush() + def deserialized = TestManagementSettingsSerializer.deserialize(buffer) + + then: + deserialized == settings + + where: + settings << [ + TestManagementSettings.DEFAULT, + new TestManagementSettings(true, 10), + ] + } +} diff --git a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java index 4eb414f3394..eff18692534 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java @@ -163,6 +163,7 @@ public final class ConfigDefaults { static final int DEFAULT_CIVISIBILITY_SIGNAL_SERVER_PORT = 0; static final List DEFAULT_CIVISIBILITY_RESOURCE_FOLDER_NAMES = asList("/resources/", "/java/", "/groovy/", "/kotlin/", "/scala/"); + public static final int DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES = -1; static final boolean DEFAULT_REMOTE_CONFIG_ENABLED = true; static final boolean DEFAULT_REMOTE_CONFIG_INTEGRITY_CHECK_ENABLED = false; diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java index b8717125778..7f944bfcb84 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java @@ -77,6 +77,8 @@ public final class CiVisibilityConfig { public static final String CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_KEY = "civisibility.remote.env.vars.provider.key"; public static final String CIVISIBILITY_TEST_ORDER = "civisibility.test.order"; + public static final String TEST_MANAGEMENT_ENABLED = "test.management.enabled"; + public static final String TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES = "test.management.attempt.to.fix.retries"; /* COVERAGE SETTINGS */ public static final String CIVISIBILITY_CODE_COVERAGE_ENABLED = diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index e7b2efbf020..4276a365690 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -373,6 +373,8 @@ public static String getHostName() { private final String ciVisibilityRemoteEnvVarsProviderUrl; private final String ciVisibilityRemoteEnvVarsProviderKey; private final String ciVisibilityTestOrder; + private final boolean ciVisibilityTestManagementEnabled; + private final int ciVisibilityTestManagementAttemptToFixRetries; private final boolean remoteConfigEnabled; private final boolean remoteConfigIntegrityCheckEnabled; @@ -1522,6 +1524,8 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment()) ciVisibilityRemoteEnvVarsProviderKey = configProvider.getString(CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_KEY); ciVisibilityTestOrder = configProvider.getString(CIVISIBILITY_TEST_ORDER); + ciVisibilityTestManagementEnabled = configProvider.getBoolean(TEST_MANAGEMENT_ENABLED, true); + ciVisibilityTestManagementAttemptToFixRetries = configProvider.getInteger(TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES); remoteConfigEnabled = configProvider.getBoolean( @@ -2979,6 +2983,14 @@ public String getCiVisibilityTestOrder() { return ciVisibilityTestOrder; } + public boolean isCiVisibilityTestManagementEnabled() { + return ciVisibilityTestManagementEnabled; + } + + public int getCiVisibilityTestManagementAttemptToFixRetries() { + return ciVisibilityTestManagementAttemptToFixRetries; + } + public String getAppSecRulesFile() { return appSecRulesFile; } From 1397b1abe82493271fc79fb8a9a6fea696fef7dc Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 3 Feb 2025 16:44:25 +0100 Subject: [PATCH 02/10] add test management telemetry --- .../civisibility/config/ConfigurationApiImpl.java | 2 ++ .../telemetry/CiVisibilityCountMetric.java | 3 +++ .../telemetry/tag/TestManagementEnabled.java | 12 ++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/tag/TestManagementEnabled.java diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ConfigurationApiImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ConfigurationApiImpl.java index 3e423e62672..c2330e584fd 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ConfigurationApiImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ConfigurationApiImpl.java @@ -21,6 +21,7 @@ import datadog.trace.api.civisibility.telemetry.tag.ItrSkipEnabled; import datadog.trace.api.civisibility.telemetry.tag.KnownTestsEnabled; import datadog.trace.api.civisibility.telemetry.tag.RequireGit; +import datadog.trace.api.civisibility.telemetry.tag.TestManagementEnabled; import datadog.trace.civisibility.communication.TelemetryListener; import datadog.trace.util.RandomUtils; import java.io.File; @@ -146,6 +147,7 @@ public CiVisibilitySettings getSettings(TracerEnvironment tracerEnvironment) thr settings.isFlakyTestRetriesEnabled() ? FlakyTestRetriesEnabled.TRUE : null, settings.isKnownTestsEnabled() ? KnownTestsEnabled.TRUE : null, settings.isImpactedTestsDetectionEnabled() ? ImpactedTestsDetectionEnabled.TRUE : null, + settings.getTestManagementSettings().isEnabled() ? TestManagementEnabled.TRUE : null, settings.isGitUploadRequired() ? RequireGit.TRUE : null); return settings; diff --git a/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java index 65aa7a6dd75..57fd70752ab 100644 --- a/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java +++ b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java @@ -33,6 +33,8 @@ import datadog.trace.api.civisibility.telemetry.tag.RetryReason; import datadog.trace.api.civisibility.telemetry.tag.StatusCode; import datadog.trace.api.civisibility.telemetry.tag.TestFrameworkInstrumentation; +import datadog.trace.api.civisibility.telemetry.tag.TestManagementEnabled; + import java.util.Arrays; public enum CiVisibilityCountMetric { @@ -120,6 +122,7 @@ public enum CiVisibilityCountMetric { FlakyTestRetriesEnabled.class, ImpactedTestsDetectionEnabled.class, KnownTestsEnabled.class, + TestManagementEnabled.class, RequireGit.class), /** The number of requests sent to the itr skippable tests endpoint */ ITR_SKIPPABLE_TESTS_REQUEST("itr_skippable_tests.request", RequestCompressed.class), diff --git a/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/tag/TestManagementEnabled.java b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/tag/TestManagementEnabled.java new file mode 100644 index 00000000000..79cc49c9fee --- /dev/null +++ b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/tag/TestManagementEnabled.java @@ -0,0 +1,12 @@ +package datadog.trace.api.civisibility.telemetry.tag; + +import datadog.trace.api.civisibility.telemetry.TagValue; + +public enum TestManagementEnabled implements TagValue { + TRUE; + + @Override + public String asString() { + return "test_management_enabled:true"; + } +} From 3f1837bb9a29593285cb0219d7732d5b41fe5133 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 3 Feb 2025 16:46:47 +0100 Subject: [PATCH 03/10] add test management settings to execution settings --- .../config/ExecutionSettings.java | 17 +++++++++++ .../config/ExecutionSettingsFactoryImpl.java | 30 +++++++++++++++++-- .../civisibility/test/ExecutionStrategy.java | 2 +- .../config/ExecutionSettingsTest.groovy | 4 +++ .../CiVisibilityInstrumentationTest.groovy | 19 ++++++++---- 5 files changed, 63 insertions(+), 9 deletions(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettings.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettings.java index 4d0ed23a2f8..70a9003b2a3 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettings.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettings.java @@ -25,6 +25,7 @@ public class ExecutionSettings { false, false, EarlyFlakeDetectionSettings.DEFAULT, + TestManagementSettings.DEFAULT, null, Collections.emptyMap(), Collections.emptyMap(), @@ -39,6 +40,7 @@ public class ExecutionSettings { private final boolean flakyTestRetriesEnabled; private final boolean impactedTestsDetectionEnabled; @Nonnull private final EarlyFlakeDetectionSettings earlyFlakeDetectionSettings; + @Nonnull private final TestManagementSettings testManagementSettings; @Nullable private final String itrCorrelationId; @Nonnull private final Map skippableTests; @Nonnull private final Map skippableTestsCoverage; @@ -54,6 +56,7 @@ public ExecutionSettings( boolean flakyTestRetriesEnabled, boolean impactedTestsDetectionEnabled, @Nonnull EarlyFlakeDetectionSettings earlyFlakeDetectionSettings, + @Nonnull TestManagementSettings testManagementSettings, @Nullable String itrCorrelationId, @Nonnull Map skippableTests, @Nonnull Map skippableTestsCoverage, @@ -67,6 +70,7 @@ public ExecutionSettings( this.flakyTestRetriesEnabled = flakyTestRetriesEnabled; this.impactedTestsDetectionEnabled = impactedTestsDetectionEnabled; this.earlyFlakeDetectionSettings = earlyFlakeDetectionSettings; + this.testManagementSettings = testManagementSettings; this.itrCorrelationId = itrCorrelationId; this.skippableTests = skippableTests; this.skippableTestsCoverage = skippableTestsCoverage; @@ -105,6 +109,11 @@ public EarlyFlakeDetectionSettings getEarlyFlakeDetectionSettings() { return earlyFlakeDetectionSettings; } + @Nonnull + public TestManagementSettings getTestManagementSettings() { + return testManagementSettings; + } + @Nullable public String getItrCorrelationId() { return itrCorrelationId; @@ -162,6 +171,7 @@ public boolean equals(Object o) { && codeCoverageEnabled == that.codeCoverageEnabled && testSkippingEnabled == that.testSkippingEnabled && Objects.equals(earlyFlakeDetectionSettings, that.earlyFlakeDetectionSettings) + && Objects.equals(testManagementSettings, that.testManagementSettings) && Objects.equals(itrCorrelationId, that.itrCorrelationId) && Objects.equals(skippableTests, that.skippableTests) && Objects.equals(skippableTestsCoverage, that.skippableTestsCoverage) @@ -178,6 +188,7 @@ public int hashCode() { codeCoverageEnabled, testSkippingEnabled, earlyFlakeDetectionSettings, + testManagementSettings, itrCorrelationId, skippableTests, skippableTestsCoverage, @@ -211,6 +222,8 @@ public static ByteBuffer serialize(ExecutionSettings settings) { EarlyFlakeDetectionSettingsSerializer.serialize(s, settings.earlyFlakeDetectionSettings); + TestManagementSettingsSerializer.serialize(s, settings.testManagementSettings); + s.write(settings.itrCorrelationId); s.write( settings.skippableTests, @@ -238,6 +251,9 @@ public static ExecutionSettings deserialize(ByteBuffer buffer) { EarlyFlakeDetectionSettings earlyFlakeDetectionSettings = EarlyFlakeDetectionSettingsSerializer.deserialize(buffer); + TestManagementSettings testManagementSettings = + TestManagementSettingsSerializer.deserialize(buffer); + String itrCorrelationId = Serializer.readString(buffer); Map skippableTests = @@ -262,6 +278,7 @@ public static ExecutionSettings deserialize(ByteBuffer buffer) { flakyTestRetriesEnabled, impactedTestsDetectionEnabled, earlyFlakeDetectionSettings, + testManagementSettings, itrCorrelationId, skippableTests, skippableTestsCoverage, diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java index d6604544ee1..205ea3078d2 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java @@ -1,6 +1,7 @@ package datadog.trace.civisibility.config; import datadog.trace.api.Config; +import datadog.trace.api.ConfigDefaults; import datadog.trace.api.civisibility.CIConstants; import datadog.trace.api.civisibility.CiVisibilityWellKnownTags; import datadog.trace.api.civisibility.config.TestIdentifier; @@ -27,6 +28,7 @@ import java.util.concurrent.Future; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; import java.util.function.Function; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -177,6 +179,17 @@ private Map doCreate( settings, CiVisibilitySettings::isKnownTestsEnabled, Config::isCiVisibilityKnownTestsRequestEnabled); + boolean testManagementEnabled = + isFeatureEnabled( + settings, + s -> s.getTestManagementSettings().isEnabled(), + Config::isCiVisibilityTestManagementEnabled); + if (testManagementEnabled) { + overrideIntegerSetting( + Config::getCiVisibilityTestManagementAttemptToFixRetries, + value -> value != ConfigDefaults.DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, + value -> settings.getTestManagementSettings().setAttemptToFixRetries(value)); + } LOGGER.info( "CI Visibility settings ({}, {}/{}/{}):\n" @@ -186,7 +199,8 @@ private Map doCreate( + "Early flakiness detection - {},\n" + "Impacted tests detection - {},\n" + "Known tests marking - {},\n" - + "Auto test retries - {}", + + "Auto test retries - {},\n" + + "Test Management - {}", repositoryRoot, tracerEnvironment.getConfigurations().getRuntimeName(), tracerEnvironment.getConfigurations().getRuntimeVersion(), @@ -197,7 +211,8 @@ private Map doCreate( earlyFlakeDetectionEnabled, impactedTestsEnabled, knownTestsRequest, - flakyTestRetriesEnabled); + flakyTestRetriesEnabled, + testManagementEnabled); Future skippableTestsFuture = executor.submit(() -> getSkippableTests(tracerEnvironment, itrEnabled)); @@ -228,6 +243,9 @@ private Map doCreate( earlyFlakeDetectionEnabled ? settings.getEarlyFlakeDetectionSettings() : EarlyFlakeDetectionSettings.DEFAULT, + testManagementEnabled + ? settings.getTestManagementSettings() + : TestManagementSettings.DEFAULT, skippableTests.getCorrelationId(), skippableTests .getIdentifiersByModule() @@ -270,6 +288,14 @@ private boolean isFeatureEnabled( return remoteSetting.apply(ciVisibilitySettings) && killSwitch.apply(config); } + private void overrideIntegerSetting( + Function valueGetter, Function overrideCheck, Consumer overrideAction) { + Integer value = valueGetter.apply(config); + if (value != null && overrideCheck.apply(value)) { + overrideAction.accept(value); + } + } + @Nonnull private SkippableTests getSkippableTests( TracerEnvironment tracerEnvironment, boolean itrEnabled) { diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java index 6764615386b..a33b0c1876b 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java @@ -105,7 +105,7 @@ public TestExecutionPolicy executionPolicy(TestIdentifier test, TestSourceData t config.getCiVisibilityFlakyRetryCount(), isQuarantined(test), autoRetriesUsed); } - if (isQuarantined(test)) { + if (executionSettings.getTestManagementSettings().isEnabled() && isQuarantined(test)) { return new RunOnceIgnoreOutcome(); } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy index e1380576d31..8483e9ca230 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy @@ -26,6 +26,7 @@ class ExecutionSettingsTest extends Specification { false, false, EarlyFlakeDetectionSettings.DEFAULT, + TestManagementSettings.DEFAULT, null, [:], [:], @@ -41,6 +42,7 @@ class ExecutionSettingsTest extends Specification { true, true, new EarlyFlakeDetectionSettings(true, [], 10), + new TestManagementSettings(true, 20), "", [(new TestIdentifier("bc", "def", "g")): new TestMetadata(true), (new TestIdentifier("de", "f", null)): new TestMetadata(false)], [:], @@ -57,6 +59,7 @@ class ExecutionSettingsTest extends Specification { false, true, new EarlyFlakeDetectionSettings(true, [new EarlyFlakeDetectionSettings.ExecutionsByDuration(10, 20)], 10), + new TestManagementSettings(true, 20), "itrCorrelationId", [:], ["cov" : BitSet.valueOf(new byte[]{ @@ -77,6 +80,7 @@ class ExecutionSettingsTest extends Specification { true, true, new EarlyFlakeDetectionSettings(true, [new EarlyFlakeDetectionSettings.ExecutionsByDuration(10, 20), new EarlyFlakeDetectionSettings.ExecutionsByDuration(30, 40)], 10), + new TestManagementSettings(true, 20), "itrCorrelationId", [(new TestIdentifier("bc", "def", null)): new TestMetadata(true), (new TestIdentifier("de", "f", null)): new TestMetadata(true)], ["cov" : BitSet.valueOf(new byte[]{ diff --git a/dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilityInstrumentationTest.groovy b/dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilityInstrumentationTest.groovy index d256af25d92..18247029797 100644 --- a/dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilityInstrumentationTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/testFixtures/groovy/datadog/trace/civisibility/CiVisibilityInstrumentationTest.groovy @@ -80,7 +80,7 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { private static volatile boolean flakyRetryEnabled = false private static volatile boolean earlyFlakinessDetectionEnabled = false private static volatile boolean impactedTestsDetectionEnabled = false - private static volatile boolean quarantineEnabled = false + private static volatile boolean testManagementEnabled = false public static final int SLOW_TEST_THRESHOLD_MILLIS = 1000 public static final int VERY_SLOW_TEST_THRESHOLD_MILLIS = 2000 @@ -117,6 +117,10 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { ], 0) : EarlyFlakeDetectionSettings.DEFAULT + def testManagementSettings = testManagementEnabled + ? new TestManagementSettings(true, 20) + : TestManagementSettings.DEFAULT + Map skippableTestsWithMetadata = new HashMap<>() for (TestIdentifier skippableTest : skippableTests) { skippableTestsWithMetadata.put(skippableTest, new TestMetadata(false)) @@ -129,6 +133,7 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { flakyRetryEnabled, impactedTestsDetectionEnabled, earlyFlakinessDetectionSettings, + testManagementSettings, itrEnabled ? "itrCorrelationId" : null, skippableTestsWithMetadata, [:], @@ -259,10 +264,10 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { knownTests.clear() diff = LineDiff.EMPTY itrEnabled = false - quarantineEnabled = false flakyRetryEnabled = false earlyFlakinessDetectionEnabled = false impactedTestsDetectionEnabled = false + testManagementEnabled = false TEST_WRITER.setFilter(spanFilter) } @@ -288,10 +293,6 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { this.diff = diff } - def givenQuarantineEnabled(boolean quarantineEnabled) { - this.quarantineEnabled = quarantineEnabled - } - def givenFlakyRetryEnabled(boolean flakyRetryEnabled) { this.flakyRetryEnabled = flakyRetryEnabled } @@ -304,6 +305,10 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { this.impactedTestsDetectionEnabled = impactedTestsDetectionEnabled } + def givenTestManagementEnabled(boolean testManagementEnabled) { + this.testManagementEnabled = testManagementEnabled + } + def givenTestsOrder(String testsOrder) { injectSysConfig(CiVisibilityConfig.CIVISIBILITY_TEST_ORDER, testsOrder) } @@ -321,6 +326,8 @@ abstract class CiVisibilityInstrumentationTest extends AgentTestRunner { injectSysConfig(CiVisibilityConfig.CIVISIBILITY_ITR_ENABLED, "true") injectSysConfig(CiVisibilityConfig.CIVISIBILITY_FLAKY_RETRY_ENABLED, "true") injectSysConfig(CiVisibilityConfig.CIVISIBILITY_EARLY_FLAKE_DETECTION_LOWER_LIMIT, "1") + injectSysConfig(CiVisibilityConfig.TEST_MANAGEMENT_ENABLED, "true") + injectSysConfig(CiVisibilityConfig.TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, "20") } def cleanupSpec() { From 96110c639fb9b77d5d32de9419dad2691c1bf96c Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 3 Feb 2025 16:48:12 +0100 Subject: [PATCH 04/10] set test management tag if enabled on session end rebase fix --- .../buildsystem/BuildSystemModuleImpl.java | 15 +++-- .../buildsystem/BuildSystemSessionImpl.java | 2 + .../domain/buildsystem/ProxyTestModule.java | 4 ++ .../domain/headless/HeadlessTestSession.java | 9 +++ .../ipc/ModuleExecutionResult.java | 13 ++++ .../headless/HeadlessTestSessionTest.groovy | 62 +++++++++++++++++++ .../ipc/ModuleExecutionResultTest.groovy | 10 +-- .../civisibility/ipc/SignalServerTest.groovy | 14 ++--- .../civisibility/config/settings-response.ftl | 4 ++ .../bootstrap/instrumentation/api/Tags.java | 1 + 10 files changed, 116 insertions(+), 18 deletions(-) create mode 100644 dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemModuleImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemModuleImpl.java index 4dd03dfabce..4ae85422ace 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemModuleImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemModuleImpl.java @@ -46,7 +46,6 @@ public class BuildSystemModuleImpl extends AbstractTestModule implements BuildSy private final LongAdder testsSkipped = new LongAdder(); - private volatile boolean codeCoverageEnabled; private volatile boolean testSkippingEnabled; public BuildSystemModuleImpl( @@ -168,6 +167,10 @@ private Map getPropertiesPropagatedToChildProcess( CiVisibilityConfig.CIVISIBILITY_EARLY_FLAKE_DETECTION_ENABLED), Boolean.toString(executionSettings.getEarlyFlakeDetectionSettings().isEnabled())); + propagatedSystemProperties.put( + Strings.propertyNameToSystemPropertyName(CiVisibilityConfig.TEST_MANAGEMENT_ENABLED), + Boolean.toString(executionSettings.getTestManagementSettings().isEnabled())); + // explicitly disable build instrumentation in child processes, // because some projects run "embedded" Maven/Gradle builds as part of their integration tests, // and we don't want to show those as if they were regular build executions @@ -252,7 +255,7 @@ public BuildModuleSettings getSettings() { */ private SignalResponse onModuleExecutionResultReceived(ModuleExecutionResult result) { if (result.isCoverageEnabled()) { - codeCoverageEnabled = true; + setTag(Tags.TEST_CODE_COVERAGE_ENABLED, true); } if (result.isTestSkippingEnabled()) { testSkippingEnabled = true; @@ -264,6 +267,10 @@ private SignalResponse onModuleExecutionResultReceived(ModuleExecutionResult res } } + if (result.isTestManagementEnabled()) { + setTag(Tags.TEST_TEST_MANAGEMENT_ENABLED, true); + } + testsSkipped.add(result.getTestsSkippedTotal()); SpanUtils.mergeTestFrameworks(span, result.getTestFrameworks()); @@ -273,10 +280,6 @@ private SignalResponse onModuleExecutionResultReceived(ModuleExecutionResult res @Override public void end(@Nullable Long endTime) { - if (codeCoverageEnabled) { - setTag(Tags.TEST_CODE_COVERAGE_ENABLED, true); - } - if (testSkippingEnabled) { setTag(Tags.TEST_ITR_TESTS_SKIPPING_ENABLED, true); setTag(Tags.TEST_ITR_TESTS_SKIPPING_TYPE, "test"); diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java index 33d8e8d1d5e..487e2644da6 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java @@ -195,6 +195,8 @@ private void onModuleFinish(AgentSpan moduleSpan) { SpanUtils.propagateTag(span, moduleSpan, Tags.TEST_ITR_TESTS_SKIPPING_TYPE); SpanUtils.propagateTag(span, moduleSpan, Tags.TEST_ITR_TESTS_SKIPPING_COUNT, Long::sum); SpanUtils.propagateTag(span, moduleSpan, DDTags.CI_ITR_TESTS_SKIPPED, Boolean::logicalOr); + + SpanUtils.propagateTag(span, moduleSpan, Tags.TEST_TEST_MANAGEMENT_ENABLED, Boolean::logicalOr); } } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/ProxyTestModule.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/ProxyTestModule.java index 17c6303756e..ff1467272cf 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/ProxyTestModule.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/ProxyTestModule.java @@ -15,6 +15,7 @@ import datadog.trace.civisibility.codeowners.Codeowners; import datadog.trace.civisibility.config.EarlyFlakeDetectionSettings; import datadog.trace.civisibility.config.ExecutionSettings; +import datadog.trace.civisibility.config.TestManagementSettings; import datadog.trace.civisibility.coverage.percentage.child.ChildProcessCoverageReporter; import datadog.trace.civisibility.decorator.TestDecorator; import datadog.trace.civisibility.domain.InstrumentationType; @@ -148,6 +149,8 @@ private void sendModuleExecutionResult() { boolean earlyFlakeDetectionEnabled = earlyFlakeDetectionSettings.isEnabled(); boolean earlyFlakeDetectionFaulty = earlyFlakeDetectionEnabled && executionStrategy.isEFDLimitReached(); + TestManagementSettings testManagementSettings = executionSettings.getTestManagementSettings(); + boolean testManagementEnabled = testManagementSettings.isEnabled(); long testsSkippedTotal = executionResults.getTestsSkippedByItr(); signalClient.send( @@ -158,6 +161,7 @@ private void sendModuleExecutionResult() { testSkippingEnabled, earlyFlakeDetectionEnabled, earlyFlakeDetectionFaulty, + testManagementEnabled, testsSkippedTotal, new TreeSet<>(testFrameworks))); diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java index 070778f0ab9..deed0079433 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java @@ -101,4 +101,13 @@ protected Collection additionalTelemetryTags() { } return Collections.emptySet(); } + + @Override + public void end(@Nullable Long endTime) { + if (executionStrategy.getExecutionSettings().getTestManagementSettings().isEnabled()) { + span.setTag(Tags.TEST_TEST_MANAGEMENT_ENABLED, true); + } + + super.end(endTime); + } } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ipc/ModuleExecutionResult.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ipc/ModuleExecutionResult.java index 9473acaddb9..07884f30894 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ipc/ModuleExecutionResult.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/ipc/ModuleExecutionResult.java @@ -12,11 +12,13 @@ public class ModuleExecutionResult extends ModuleSignal { private static final int TEST_SKIPPING_ENABLED_FLAG = 2; private static final int EARLY_FLAKE_DETECTION_ENABLED_FLAG = 4; private static final int EARLY_FLAKE_DETECTION_FAULTY_FLAG = 8; + private static final int TEST_MANAGEMENT_ENABLED_FLAG = 16; private final boolean coverageEnabled; private final boolean testSkippingEnabled; private final boolean earlyFlakeDetectionEnabled; private final boolean earlyFlakeDetectionFaulty; + private final boolean testManagementEnabled; private final long testsSkippedTotal; private final Collection testFrameworks; @@ -27,6 +29,7 @@ public ModuleExecutionResult( boolean testSkippingEnabled, boolean earlyFlakeDetectionEnabled, boolean earlyFlakeDetectionFaulty, + boolean testManagementEnabled, long testsSkippedTotal, Collection testFrameworks) { super(sessionId, moduleId); @@ -34,6 +37,7 @@ public ModuleExecutionResult( this.testSkippingEnabled = testSkippingEnabled; this.earlyFlakeDetectionEnabled = earlyFlakeDetectionEnabled; this.earlyFlakeDetectionFaulty = earlyFlakeDetectionFaulty; + this.testManagementEnabled = testManagementEnabled; this.testsSkippedTotal = testsSkippedTotal; this.testFrameworks = testFrameworks; } @@ -54,6 +58,10 @@ public boolean isEarlyFlakeDetectionFaulty() { return earlyFlakeDetectionFaulty; } + public boolean isTestManagementEnabled() { + return testManagementEnabled; + } + public long getTestsSkippedTotal() { return testsSkippedTotal; } @@ -131,6 +139,9 @@ public ByteBuffer serialize() { if (earlyFlakeDetectionFaulty) { flags |= EARLY_FLAKE_DETECTION_FAULTY_FLAG; } + if (testManagementEnabled) { + flags |= TEST_MANAGEMENT_ENABLED_FLAG; + } s.write(flags); s.write(testsSkippedTotal); @@ -148,6 +159,7 @@ public static ModuleExecutionResult deserialize(ByteBuffer buffer) { boolean testSkippingEnabled = (flags & TEST_SKIPPING_ENABLED_FLAG) != 0; boolean earlyFlakeDetectionEnabled = (flags & EARLY_FLAKE_DETECTION_ENABLED_FLAG) != 0; boolean earlyFlakeDetectionFaulty = (flags & EARLY_FLAKE_DETECTION_FAULTY_FLAG) != 0; + boolean testManagementEnabled = (flags & TEST_MANAGEMENT_ENABLED_FLAG) != 0; long testsSkippedTotal = Serializer.readLong(buffer); Collection testFrameworks = @@ -160,6 +172,7 @@ public static ModuleExecutionResult deserialize(ByteBuffer buffer) { testSkippingEnabled, earlyFlakeDetectionEnabled, earlyFlakeDetectionFaulty, + testManagementEnabled, testsSkippedTotal, testFrameworks); } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy new file mode 100644 index 00000000000..bcfc1c21721 --- /dev/null +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy @@ -0,0 +1,62 @@ +package datadog.trace.civisibility.domain.headless + +import datadog.trace.agent.test.asserts.ListWriterAssert +import datadog.trace.api.Config +import datadog.trace.api.DDSpanTypes +import datadog.trace.api.civisibility.coverage.CoverageStore +import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector +import datadog.trace.api.civisibility.telemetry.tag.Provider +import datadog.trace.bootstrap.instrumentation.api.Tags +import datadog.trace.civisibility.codeowners.Codeowners +import datadog.trace.civisibility.config.ExecutionSettings +import datadog.trace.civisibility.config.TestManagementSettings +import datadog.trace.civisibility.decorator.TestDecorator +import datadog.trace.civisibility.domain.SpanWriterTest +import datadog.trace.civisibility.source.LinesResolver +import datadog.trace.civisibility.source.SourcePathResolver +import datadog.trace.civisibility.test.ExecutionStrategy + +class HeadlessTestSessionTest extends SpanWriterTest { + + def "test tags are populated correctly in span"() { + setup: + def session = givenAHeadlessTestSession() + + when: + session.end(null) + + then: + ListWriterAssert.assertTraces(TEST_WRITER, 1, false, { + trace(1) { + span(0) { + spanType DDSpanTypes.TEST_SESSION_END + tags(false) { + "$Tags.TEST_TEST_MANAGEMENT_ENABLED" true + } + } + } + }) + } + + + private HeadlessTestSession givenAHeadlessTestSession() { + def executionSettings = Stub(ExecutionSettings) + executionSettings.getTestManagementSettings() >> new TestManagementSettings(true, 10) + + def executionStrategy = new ExecutionStrategy(Stub(Config), executionSettings, Stub(SourcePathResolver), Stub(LinesResolver)) + + new HeadlessTestSession( + "project-name", + null, + Provider.UNSUPPORTED, + Stub(Config), + Stub(CiVisibilityMetricCollector), + Stub(TestDecorator), + Stub(SourcePathResolver), + Stub(Codeowners), + Stub(LinesResolver), + Stub(CoverageStore.Factory), + executionStrategy + ) + } +} diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/ModuleExecutionResultTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/ModuleExecutionResultTest.groovy index 50de172483d..02bef4e6b1d 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/ModuleExecutionResultTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/ModuleExecutionResultTest.groovy @@ -16,11 +16,11 @@ class ModuleExecutionResultTest extends Specification { where: signal << [ - new ModuleExecutionResult(DDTraceId.from(12345), 67890, false, false, false, false, 0, Collections.emptyList()), - new ModuleExecutionResult(DDTraceId.from(12345), 67890, true, false, true, true, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))), - new ModuleExecutionResult(DDTraceId.from(12345), 67890, false, true, true, false, 2, Arrays.asList(new TestFramework("junit", "4.13.2"), new TestFramework("junit", "5.9.2"))), - new ModuleExecutionResult(DD128bTraceId.from(12345, 67890), 67890, false, false, false, true, 3, Arrays.asList(new TestFramework("junit", null), new TestFramework("junit", "5.9.2"))), - new ModuleExecutionResult(DD128bTraceId.from(12345, 67890), 67890, true, true, true, true, Integer.MAX_VALUE, Arrays.asList(new TestFramework("junit", "4.13.2"), new TestFramework(null, "5.9.2"))) + new ModuleExecutionResult(DDTraceId.from(12345), 67890, false, false, false, false, false, 0, Collections.emptyList()), + new ModuleExecutionResult(DDTraceId.from(12345), 67890, true, false, true, true, true, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))), + new ModuleExecutionResult(DDTraceId.from(12345), 67890, false, true, true, false, false, 2, Arrays.asList(new TestFramework("junit", "4.13.2"), new TestFramework("junit", "5.9.2"))), + new ModuleExecutionResult(DD128bTraceId.from(12345, 67890), 67890, false, false, false, true, true, 3, Arrays.asList(new TestFramework("junit", null), new TestFramework("junit", "5.9.2"))), + new ModuleExecutionResult(DD128bTraceId.from(12345, 67890), 67890, true, true, true, true, true, Integer.MAX_VALUE, Arrays.asList(new TestFramework("junit", "4.13.2"), new TestFramework(null, "5.9.2"))) ] } } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/SignalServerTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/SignalServerTest.groovy index 4db02ff58cf..b2f43e09955 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/SignalServerTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/ipc/SignalServerTest.groovy @@ -12,7 +12,7 @@ class SignalServerTest extends Specification { def "test message send and receive"() { given: def signalProcessed = new AtomicBoolean(false) - def signal = new ModuleExecutionResult(DDTraceId.from(123), 456, true, true, false, false, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signal = new ModuleExecutionResult(DDTraceId.from(123), 456, true, true, false, false, false, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) def server = new SignalServer() def received = new ArrayList() @@ -41,8 +41,8 @@ class SignalServerTest extends Specification { def "test multiple messages send and receive"() { given: - def signalA = new ModuleExecutionResult(DDTraceId.from(123), 456, false, false, false, false, 0, Collections.singletonList(new TestFramework("junit", "4.13.2"))) - def signalB = new ModuleExecutionResult(DDTraceId.from(234), 567, true, true, false, false, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signalA = new ModuleExecutionResult(DDTraceId.from(123), 456, false, false, false, false, false, 0, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signalB = new ModuleExecutionResult(DDTraceId.from(234), 567, true, true, false, false, true, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) def server = new SignalServer() def received = new ArrayList() @@ -70,8 +70,8 @@ class SignalServerTest extends Specification { def "test multiple clients send and receive"() { given: - def signalA = new ModuleExecutionResult(DDTraceId.from(123), 456, true, false, true, false, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) - def signalB = new ModuleExecutionResult(DDTraceId.from(234), 567, false, true, false, true, 0, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signalA = new ModuleExecutionResult(DDTraceId.from(123), 456, true, false, true, false, true, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signalB = new ModuleExecutionResult(DDTraceId.from(234), 567, false, true, false, true, false, 0, Collections.singletonList(new TestFramework("junit", "4.13.2"))) def server = new SignalServer() def received = new ArrayList() @@ -118,7 +118,7 @@ class SignalServerTest extends Specification { when: def address = server.getAddress() try (def client = new SignalClient(address, clientTimeoutMillis)) { - client.send(new ModuleExecutionResult(DDTraceId.from(123), 456, false, false, false, false, 0, Collections.singletonList(new TestFramework("junit", "4.13.2")))) + client.send(new ModuleExecutionResult(DDTraceId.from(123), 456, false, false, false, false, false, 0, Collections.singletonList(new TestFramework("junit", "4.13.2")))) } then: @@ -130,7 +130,7 @@ class SignalServerTest extends Specification { def "test error response receipt"() { given: - def signal = new ModuleExecutionResult(DDTraceId.from(123), 456, true, true, false, false, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) + def signal = new ModuleExecutionResult(DDTraceId.from(123), 456, true, true, false, false, true, 1, Collections.singletonList(new TestFramework("junit", "4.13.2"))) def server = new SignalServer() def errorResponse = new ErrorResponse("An error occurred while processing the signal") diff --git a/dd-java-agent/agent-ci-visibility/src/test/resources/datadog/trace/civisibility/config/settings-response.ftl b/dd-java-agent/agent-ci-visibility/src/test/resources/datadog/trace/civisibility/config/settings-response.ftl index b657dd3fac5..5f5c61db670 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/resources/datadog/trace/civisibility/config/settings-response.ftl +++ b/dd-java-agent/agent-ci-visibility/src/test/resources/datadog/trace/civisibility/config/settings-response.ftl @@ -18,6 +18,10 @@ }, "faulty_session_threshold": ${settings.earlyFlakeDetectionSettings.faultySessionThreshold} + }, + "test_management": { + "enabled": ${settings.testManagementSettings.enabled?c}, + "attempt_to_fix_retries": ${settings.testManagementSettings.attemptToFixRetries} } } } diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/Tags.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/Tags.java index a0bfe78ef10..dfaeb60bcf3 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/Tags.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/Tags.java @@ -98,6 +98,7 @@ public class Tags { public static final String TEST_IS_MODIFIED = "test.is_modified"; public static final String TEST_HAS_FAILED_ALL_RETRIES = "test.has_failed_all_retries"; public static final String TEST_MANAGEMENT_IS_QUARANTINED = "test.management.is_quarantined"; + public static final String TEST_TEST_MANAGEMENT_ENABLED = "test.test_management.enabled"; public static final String CI_PROVIDER_NAME = "ci.provider.name"; public static final String CI_PIPELINE_ID = "ci.pipeline.id"; From e6028c52c9ea784d0c0e18ff96866ec3d92456e0 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 3 Feb 2025 16:53:02 +0100 Subject: [PATCH 05/10] formatting fixes --- .../civisibility/CiVisibilitySystem.java | 4 +- .../config/ExecutionSettingsFactoryImpl.java | 4 +- .../config/TestManagementSettings.java | 3 +- .../TestManagementSettingsJsonAdapter.java | 7 +- .../TestManagementSettingsSerializer.java | 1 - .../buildsystem/BuildSystemSessionImpl.java | 3 +- .../config/ExecutionSettingsTest.groovy | 2 +- ...estManagementSettingsSerializerTest.groovy | 5 +- .../headless/HeadlessTestSessionTest.groovy | 82 +++++++++---------- .../trace/api/config/CiVisibilityConfig.java | 3 +- .../main/java/datadog/trace/api/Config.java | 4 +- .../telemetry/CiVisibilityCountMetric.java | 1 - 12 files changed, 59 insertions(+), 60 deletions(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilitySystem.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilitySystem.java index 495b83210ec..ac467e6500a 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilitySystem.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilitySystem.java @@ -158,7 +158,7 @@ private TestEventsHandlerFactory( services, repoServices, coverageServices, executionSettings); } else { sessionFactory = - headlessTestFrameworkEssionFactory( + headlessTestFrameworkSessionFactory( services, repoServices, coverageServices, executionSettings); } } @@ -259,7 +259,7 @@ private static TestFrameworkSession.Factory childTestFrameworkSessionFactory( }; } - private static TestFrameworkSession.Factory headlessTestFrameworkEssionFactory( + private static TestFrameworkSession.Factory headlessTestFrameworkSessionFactory( CiVisibilityServices services, CiVisibilityRepoServices repoServices, CiVisibilityCoverageServices.Child coverageServices, diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java index 205ea3078d2..90cfa949823 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java @@ -289,7 +289,9 @@ private boolean isFeatureEnabled( } private void overrideIntegerSetting( - Function valueGetter, Function overrideCheck, Consumer overrideAction) { + Function valueGetter, + Function overrideCheck, + Consumer overrideAction) { Integer value = valueGetter.apply(config); if (value != null && overrideCheck.apply(value)) { overrideAction.accept(value); diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java index 9f367233313..0dea4d3c302 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java @@ -4,8 +4,7 @@ public class TestManagementSettings { - public static final TestManagementSettings DEFAULT = - new TestManagementSettings(false, -1); + public static final TestManagementSettings DEFAULT = new TestManagementSettings(false, -1); private final boolean enabled; private int attemptToFixRetries; diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java index 8b105257ff0..6b20eda6275 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsJsonAdapter.java @@ -1,11 +1,11 @@ package datadog.trace.civisibility.config; import com.squareup.moshi.FromJson; - import java.util.Map; public class TestManagementSettingsJsonAdapter { - public static final TestManagementSettingsJsonAdapter INSTANCE = new TestManagementSettingsJsonAdapter(); + public static final TestManagementSettingsJsonAdapter INSTANCE = + new TestManagementSettingsJsonAdapter(); @FromJson public TestManagementSettings fromJson(Map json) { @@ -18,7 +18,6 @@ public TestManagementSettings fromJson(Map json) { return new TestManagementSettings( enabled != null ? enabled : false, - attemptToFixRetries != null ? attemptToFixRetries.intValue() : -1 - ); + attemptToFixRetries != null ? attemptToFixRetries.intValue() : -1); } } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java index 7aded3b71f3..7e2c5c7be71 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettingsSerializer.java @@ -1,7 +1,6 @@ package datadog.trace.civisibility.config; import datadog.trace.civisibility.ipc.serialization.Serializer; - import java.nio.ByteBuffer; public class TestManagementSettingsSerializer { diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java index 487e2644da6..513cb74938f 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/buildsystem/BuildSystemSessionImpl.java @@ -196,7 +196,8 @@ private void onModuleFinish(AgentSpan moduleSpan) { SpanUtils.propagateTag(span, moduleSpan, Tags.TEST_ITR_TESTS_SKIPPING_COUNT, Long::sum); SpanUtils.propagateTag(span, moduleSpan, DDTags.CI_ITR_TESTS_SKIPPED, Boolean::logicalOr); - SpanUtils.propagateTag(span, moduleSpan, Tags.TEST_TEST_MANAGEMENT_ENABLED, Boolean::logicalOr); + SpanUtils.propagateTag( + span, moduleSpan, Tags.TEST_TEST_MANAGEMENT_ENABLED, Boolean::logicalOr); } } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy index 8483e9ca230..ccd3cc78ff8 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/ExecutionSettingsTest.groovy @@ -80,7 +80,7 @@ class ExecutionSettingsTest extends Specification { true, true, new EarlyFlakeDetectionSettings(true, [new EarlyFlakeDetectionSettings.ExecutionsByDuration(10, 20), new EarlyFlakeDetectionSettings.ExecutionsByDuration(30, 40)], 10), - new TestManagementSettings(true, 20), + new TestManagementSettings(true, 20), "itrCorrelationId", [(new TestIdentifier("bc", "def", null)): new TestMetadata(true), (new TestIdentifier("de", "f", null)): new TestMetadata(true)], ["cov" : BitSet.valueOf(new byte[]{ diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy index b31a20a2716..b914dfd3a98 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/config/TestManagementSettingsSerializerTest.groovy @@ -16,9 +16,6 @@ class TestManagementSettingsSerializerTest extends Specification { deserialized == settings where: - settings << [ - TestManagementSettings.DEFAULT, - new TestManagementSettings(true, 10), - ] + settings << [TestManagementSettings.DEFAULT, new TestManagementSettings(true, 10),] } } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy index bcfc1c21721..425323d9ffa 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy @@ -18,45 +18,45 @@ import datadog.trace.civisibility.test.ExecutionStrategy class HeadlessTestSessionTest extends SpanWriterTest { - def "test tags are populated correctly in span"() { - setup: - def session = givenAHeadlessTestSession() - - when: - session.end(null) - - then: - ListWriterAssert.assertTraces(TEST_WRITER, 1, false, { - trace(1) { - span(0) { - spanType DDSpanTypes.TEST_SESSION_END - tags(false) { - "$Tags.TEST_TEST_MANAGEMENT_ENABLED" true - } - } - } - }) - } - - - private HeadlessTestSession givenAHeadlessTestSession() { - def executionSettings = Stub(ExecutionSettings) - executionSettings.getTestManagementSettings() >> new TestManagementSettings(true, 10) - - def executionStrategy = new ExecutionStrategy(Stub(Config), executionSettings, Stub(SourcePathResolver), Stub(LinesResolver)) - - new HeadlessTestSession( - "project-name", - null, - Provider.UNSUPPORTED, - Stub(Config), - Stub(CiVisibilityMetricCollector), - Stub(TestDecorator), - Stub(SourcePathResolver), - Stub(Codeowners), - Stub(LinesResolver), - Stub(CoverageStore.Factory), - executionStrategy - ) - } + def "test tags are populated correctly in span"() { + setup: + def session = givenAHeadlessTestSession() + + when: + session.end(null) + + then: + ListWriterAssert.assertTraces(TEST_WRITER, 1, false, { + trace(1) { + span(0) { + spanType DDSpanTypes.TEST_SESSION_END + tags(false) { + "$Tags.TEST_TEST_MANAGEMENT_ENABLED" true + } + } + } + }) + } + + + private HeadlessTestSession givenAHeadlessTestSession() { + def executionSettings = Stub(ExecutionSettings) + executionSettings.getTestManagementSettings() >> new TestManagementSettings(true, 10) + + def executionStrategy = new ExecutionStrategy(Stub(Config), executionSettings, Stub(SourcePathResolver), Stub(LinesResolver)) + + new HeadlessTestSession( + "project-name", + null, + Provider.UNSUPPORTED, + Stub(Config), + Stub(CiVisibilityMetricCollector), + Stub(TestDecorator), + Stub(SourcePathResolver), + Stub(Codeowners), + Stub(LinesResolver), + Stub(CoverageStore.Factory), + executionStrategy + ) + } } diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java index 7f944bfcb84..6601e3265aa 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/CiVisibilityConfig.java @@ -78,7 +78,8 @@ public final class CiVisibilityConfig { "civisibility.remote.env.vars.provider.key"; public static final String CIVISIBILITY_TEST_ORDER = "civisibility.test.order"; public static final String TEST_MANAGEMENT_ENABLED = "test.management.enabled"; - public static final String TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES = "test.management.attempt.to.fix.retries"; + public static final String TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES = + "test.management.attempt.to.fix.retries"; /* COVERAGE SETTINGS */ public static final String CIVISIBILITY_CODE_COVERAGE_ENABLED = diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index 4276a365690..4f4fe8e07c6 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -1525,7 +1525,9 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment()) configProvider.getString(CIVISIBILITY_REMOTE_ENV_VARS_PROVIDER_KEY); ciVisibilityTestOrder = configProvider.getString(CIVISIBILITY_TEST_ORDER); ciVisibilityTestManagementEnabled = configProvider.getBoolean(TEST_MANAGEMENT_ENABLED, true); - ciVisibilityTestManagementAttemptToFixRetries = configProvider.getInteger(TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES); + ciVisibilityTestManagementAttemptToFixRetries = + configProvider.getInteger( + TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES); remoteConfigEnabled = configProvider.getBoolean( diff --git a/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java index 57fd70752ab..f6b253d3177 100644 --- a/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java +++ b/internal-api/src/main/java/datadog/trace/api/civisibility/telemetry/CiVisibilityCountMetric.java @@ -34,7 +34,6 @@ import datadog.trace.api.civisibility.telemetry.tag.StatusCode; import datadog.trace.api.civisibility.telemetry.tag.TestFrameworkInstrumentation; import datadog.trace.api.civisibility.telemetry.tag.TestManagementEnabled; - import java.util.Arrays; public enum CiVisibilityCountMetric { From 97d9ca1143a57367c9a0e30dec2eab67e2794856 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 4 Feb 2025 09:48:01 +0100 Subject: [PATCH 06/10] move test management check to isQuarantined --- .../datadog/trace/civisibility/test/ExecutionStrategy.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java index a33b0c1876b..2cbc488b02c 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/test/ExecutionStrategy.java @@ -8,6 +8,7 @@ import datadog.trace.api.civisibility.telemetry.tag.SkipReason; import datadog.trace.civisibility.config.EarlyFlakeDetectionSettings; import datadog.trace.civisibility.config.ExecutionSettings; +import datadog.trace.civisibility.config.TestManagementSettings; import datadog.trace.civisibility.execution.Regular; import datadog.trace.civisibility.execution.RetryUntilSuccessful; import datadog.trace.civisibility.execution.RunNTimes; @@ -62,6 +63,10 @@ public boolean isFlaky(TestIdentifier test) { } public boolean isQuarantined(TestIdentifier test) { + TestManagementSettings testManagementSettings = executionSettings.getTestManagementSettings(); + if (!testManagementSettings.isEnabled()) { + return false; + } Collection quarantinedTests = executionSettings.getQuarantinedTests(); return quarantinedTests.contains(test.withoutParameters()); } @@ -105,7 +110,7 @@ public TestExecutionPolicy executionPolicy(TestIdentifier test, TestSourceData t config.getCiVisibilityFlakyRetryCount(), isQuarantined(test), autoRetriesUsed); } - if (executionSettings.getTestManagementSettings().isEnabled() && isQuarantined(test)) { + if (isQuarantined(test)) { return new RunOnceIgnoreOutcome(); } From 8d43f9d553a1eac9035068489bfe6ad8bf000c30 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 4 Feb 2025 10:55:35 +0100 Subject: [PATCH 07/10] update test fixtures to use test management --- .../cucumber-junit-4/src/test/groovy/CucumberTest.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../munit-junit-4/src/test/groovy/MUnitTest.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../junit-4.10/src/test/groovy/JUnit4Test.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed-parameterized/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../cucumber-junit-5/src/test/groovy/CucumberTest.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../spock-junit-5/src/test/groovy/SpockTest.groovy | 7 +++---- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed-parameterized/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../junit-5.3/src/test/groovy/JUnit5Test.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed-parameterized/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../karate/src/test/groovy/KarateTest.groovy | 2 +- .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../scalatest/src/test/groovy/ScalatestTest.groovy | 6 +++--- .../test/resources/test-quarantined-failed-atr/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../src/test/resources/test-quarantined-failed/events.ftl | 1 + .../datadog/trace/instrumentation/testng/TestNGTest.groovy | 6 +++--- .../test/resources/test-quarantined-failed-7/events.ftl | 1 + .../resources/test-quarantined-failed-atr-7/events.ftl | 1 + .../test/resources/test-quarantined-failed-efd/events.ftl | 1 + .../resources/test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed-parameterized/events.ftl | 1 + 46 files changed, 62 insertions(+), 26 deletions(-) diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/groovy/CucumberTest.groovy b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/groovy/CucumberTest.groovy index 7ab44abc90d..3af7ef49258 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/groovy/CucumberTest.groovy +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/groovy/CucumberTest.groovy @@ -90,7 +90,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runFeatures(features, true) @@ -105,7 +105,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -126,7 +126,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl index f1393968ce4..f4a4473bc4e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -293,6 +293,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl index fa19404348d..a0ada96ee0e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -199,6 +199,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl index ac1976f8ed8..b5e7dfe5179 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl @@ -97,6 +97,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl index 962da0e4e21..a2d0d168953 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl @@ -96,6 +96,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/groovy/MUnitTest.groovy b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/groovy/MUnitTest.groovy index ab757fcdd80..0e81d910ce4 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/groovy/MUnitTest.groovy +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/groovy/MUnitTest.groovy @@ -80,7 +80,7 @@ class MUnitTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) @@ -93,7 +93,7 @@ class MUnitTest extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -110,7 +110,7 @@ class MUnitTest extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl index 04497596505..d64ada6dcc4 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "munit", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl index 571e11423f8..bc0c817cc25 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "munit", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl index 773f3cfd3f8..577b1e57a08 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "munit", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl index 84feb9b6f22..4c69a447437 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "munit", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/groovy/JUnit4Test.groovy b/dd-java-agent/instrumentation/junit-4.10/src/test/groovy/JUnit4Test.groovy index 54d352f7156..fe4229e373b 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/groovy/JUnit4Test.groovy +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/groovy/JUnit4Test.groovy @@ -127,7 +127,7 @@ class JUnit4Test extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) @@ -141,7 +141,7 @@ class JUnit4Test extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -158,7 +158,7 @@ class JUnit4Test extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl index 01e9eb9ba7c..12bc6187c42 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl index f1b6e55176f..23e17404724 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl index 837ccef8468..c01694b5a88 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl index 2e1945b0a8b..f509764085d 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl index 743ea4e0b55..abdbf5f2836 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/groovy/CucumberTest.groovy b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/groovy/CucumberTest.groovy index 0c370fa1e10..80dfe6be817 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/groovy/CucumberTest.groovy +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/groovy/CucumberTest.groovy @@ -100,7 +100,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runFeatures(features, false, true) @@ -115,7 +115,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -136,7 +136,7 @@ class CucumberTest extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl index d3b57289a18..f3295b08ced 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -293,6 +293,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl index 0aae442aa7b..234173ad399 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -199,6 +199,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl index f128c440822..8f489671d7d 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl @@ -97,6 +97,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl index 94bee36a5bd..fd2000293c0 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl @@ -96,6 +96,7 @@ "test.framework" : "cucumber", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/groovy/SpockTest.groovy b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/groovy/SpockTest.groovy index 1f76fb7d93d..1196821b5c6 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/groovy/SpockTest.groovy +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/groovy/SpockTest.groovy @@ -1,5 +1,4 @@ import datadog.trace.api.DisableTestTrace -import datadog.trace.api.civisibility.CIConstants import datadog.trace.api.civisibility.config.TestIdentifier import datadog.trace.civisibility.CiVisibilityInstrumentationTest import datadog.trace.civisibility.diff.FileDiff @@ -133,7 +132,7 @@ class SpockTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) @@ -147,7 +146,7 @@ class SpockTest extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -164,7 +163,7 @@ class SpockTest extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl index 057e0af9afd..f3a48eef64c 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -317,6 +317,7 @@ "test.framework" : "spock", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl index 30fb242b205..857db154c05 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -215,6 +215,7 @@ "test.framework" : "spock", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl index 10784161694..fe0306641fb 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl @@ -105,6 +105,7 @@ "test.framework" : "spock", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl index d09ffd910aa..30493e53ae9 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -153,6 +153,7 @@ "test.framework" : "spock", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl index cb3f8597871..91ce7740989 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl @@ -104,6 +104,7 @@ "test.framework" : "spock", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/groovy/JUnit5Test.groovy b/dd-java-agent/instrumentation/junit-5.3/src/test/groovy/JUnit5Test.groovy index 49225c3547b..049253836b4 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/groovy/JUnit5Test.groovy +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/groovy/JUnit5Test.groovy @@ -165,7 +165,7 @@ class JUnit5Test extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) @@ -179,7 +179,7 @@ class JUnit5Test extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -196,7 +196,7 @@ class JUnit5Test extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl index 4283b62ced7..dc8b9070ed5 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl index ee69490a5cc..88168cc8695 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl index 0681acfab8d..8f49744147b 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl @@ -18,6 +18,7 @@ "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl index dc422d1d12a..ed0a72743bf 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl index 6ba32d8dccb..f1785157e56 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl @@ -17,6 +17,7 @@ "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/karate/src/test/groovy/KarateTest.groovy b/dd-java-agent/instrumentation/karate/src/test/groovy/KarateTest.groovy index 3a866bd64e8..367562a8992 100644 --- a/dd-java-agent/instrumentation/karate/src/test/groovy/KarateTest.groovy +++ b/dd-java-agent/instrumentation/karate/src/test/groovy/KarateTest.groovy @@ -96,7 +96,7 @@ class KarateTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) diff --git a/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl index 2440c78cd2c..ce167b8f692 100644 --- a/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl @@ -185,6 +185,7 @@ "test.framework" : "karate", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/groovy/ScalatestTest.groovy b/dd-java-agent/instrumentation/scalatest/src/test/groovy/ScalatestTest.groovy index 35f68295a2b..fdc41360152 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/groovy/ScalatestTest.groovy +++ b/dd-java-agent/instrumentation/scalatest/src/test/groovy/ScalatestTest.groovy @@ -102,7 +102,7 @@ class ScalatestTest extends CiVisibilityInstrumentationTest { } def "test quarantined #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, true) @@ -115,7 +115,7 @@ class ScalatestTest extends CiVisibilityInstrumentationTest { } def "test quarantined auto-retries #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -132,7 +132,7 @@ class ScalatestTest extends CiVisibilityInstrumentationTest { } def "test quarantined early flakiness detection #testcaseName"() { - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl index 6349dc54035..83d11a89341 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -302,6 +302,7 @@ "test.framework" : "scalatest", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl index d41a5052157..0dff69a5bc1 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -206,6 +206,7 @@ "test.framework" : "scalatest", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl index b58aa206350..55308c9de52 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl @@ -102,6 +102,7 @@ "test.framework" : "scalatest", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl index 14dd8e63817..90ff0b202ac 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl @@ -101,6 +101,7 @@ "test.framework" : "scalatest", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/src/testFixtures/groovy/datadog/trace/instrumentation/testng/TestNGTest.groovy b/dd-java-agent/instrumentation/testng/src/testFixtures/groovy/datadog/trace/instrumentation/testng/TestNGTest.groovy index 29168c66838..d5d6fec2f24 100644 --- a/dd-java-agent/instrumentation/testng/src/testFixtures/groovy/datadog/trace/instrumentation/testng/TestNGTest.groovy +++ b/dd-java-agent/instrumentation/testng/src/testFixtures/groovy/datadog/trace/instrumentation/testng/TestNGTest.groovy @@ -157,7 +157,7 @@ abstract class TestNGTest extends CiVisibilityInstrumentationTest { def "test quarantined #testcaseName"() { Assumptions.assumeTrue(isExceptionSuppressionSupported()) - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) runTests(tests, null, true) @@ -173,7 +173,7 @@ abstract class TestNGTest extends CiVisibilityInstrumentationTest { def "test quarantined auto-retries #testcaseName"() { Assumptions.assumeTrue(isExceptionSuppressionSupported()) - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenFlakyRetryEnabled(true) @@ -192,7 +192,7 @@ abstract class TestNGTest extends CiVisibilityInstrumentationTest { def "test quarantined early flakiness detection #testcaseName"() { Assumptions.assumeTrue(isExceptionSuppressionSupported()) - givenQuarantineEnabled(true) + givenTestManagementEnabled(true) givenQuarantinedTests(quarantined) givenEarlyFlakinessDetectionEnabled(true) diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl index 65f4bf6b328..2fa88f128ac 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl @@ -104,6 +104,7 @@ "test.framework" : "testng", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl index f1039d9b205..492f58c1d62 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl @@ -317,6 +317,7 @@ "test.framework" : "testng", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl index 335d848e69b..1d325591a33 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -215,6 +215,7 @@ "test.framework" : "testng", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl index 49a6099e0c5..da2766e90bf 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl @@ -105,6 +105,7 @@ "test.framework" : "testng", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl index 25f435dc2fb..1d01ae4ea75 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -153,6 +153,7 @@ "test.framework" : "testng", "test.framework_version" : ${content_meta_test_framework_version}, "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, From 73a3b86044c946b2194b45a1cb4c910b54847985 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 4 Feb 2025 15:42:53 +0100 Subject: [PATCH 08/10] propagate test management tag from headless module to session --- .../domain/headless/HeadlessTestModule.java | 6 + .../domain/headless/HeadlessTestSession.java | 7 +- .../headless/HeadlessTestSessionTest.groovy | 8 +- .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-failed-after-class/events.ftl | 318 +++++++------- .../test-failed-after-param/events.ftl | 404 +++++++++--------- .../resources/test-failed-after/events.ftl | 356 +++++++-------- .../test-failed-before-class/events.ftl | 178 ++++---- .../test-failed-before-param/events.ftl | 260 +++++------ .../resources/test-failed-before/events.ftl | 356 +++++++-------- .../test-succeed-before-after/events.ftl | 392 ++++++++--------- .../events.ftl | 336 +++++++-------- .../events.ftl | 396 ++++++++--------- .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-before-all-after-all/events.ftl | 340 +++++++-------- .../test-before-each-after-each/events.ftl | 396 ++++++++--------- .../test-failed-after-all/events.ftl | 322 +++++++------- .../test-failed-after-each/events.ftl | 360 ++++++++-------- .../test-failed-before-all/events.ftl | 178 ++++---- .../test-failed-before-each/events.ftl | 360 ++++++++-------- .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed-atr/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../test-quarantined-failed/events.ftl | 1 + .../test-quarantined-failed-7/events.ftl | 1 + .../test-quarantined-failed-atr-7/events.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 1 + .../events.ftl | 1 + 55 files changed, 2527 insertions(+), 2483 deletions(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestModule.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestModule.java index fa696149f21..3cb57b5854a 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestModule.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestModule.java @@ -16,6 +16,7 @@ import datadog.trace.civisibility.codeowners.Codeowners; import datadog.trace.civisibility.config.EarlyFlakeDetectionSettings; import datadog.trace.civisibility.config.ExecutionSettings; +import datadog.trace.civisibility.config.TestManagementSettings; import datadog.trace.civisibility.decorator.TestDecorator; import datadog.trace.civisibility.domain.AbstractTestModule; import datadog.trace.civisibility.domain.InstrumentationType; @@ -132,6 +133,11 @@ public void end(@Nullable Long endTime) { } } + TestManagementSettings testManagementSettings = executionSettings.getTestManagementSettings(); + if (testManagementSettings.isEnabled()) { + setTag(Tags.TEST_TEST_MANAGEMENT_ENABLED, true); + } + super.end(endTime); } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java index deed0079433..1bed53b8344 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/headless/HeadlessTestSession.java @@ -90,7 +90,8 @@ private void propagateModuleTags(AgentSpan moduleSpan) { Tags.TEST_ITR_TESTS_SKIPPING_COUNT, Tags.TEST_EARLY_FLAKE_ENABLED, Tags.TEST_EARLY_FLAKE_ABORT_REASON, - DDTags.CI_ITR_TESTS_SKIPPED); + DDTags.CI_ITR_TESTS_SKIPPED, + Tags.TEST_TEST_MANAGEMENT_ENABLED); } @Override @@ -104,10 +105,6 @@ protected Collection additionalTelemetryTags() { @Override public void end(@Nullable Long endTime) { - if (executionStrategy.getExecutionSettings().getTestManagementSettings().isEnabled()) { - span.setTag(Tags.TEST_TEST_MANAGEMENT_ENABLED, true); - } - super.end(endTime); } } diff --git a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy index 425323d9ffa..1cf2e858e31 100644 --- a/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy +++ b/dd-java-agent/agent-ci-visibility/src/test/groovy/datadog/trace/civisibility/domain/headless/HeadlessTestSessionTest.groovy @@ -21,24 +21,28 @@ class HeadlessTestSessionTest extends SpanWriterTest { def "test tags are populated correctly in span"() { setup: def session = givenAHeadlessTestSession() + def module = session.testModuleStart("module-name", null) when: + module.end(null) session.end(null) then: ListWriterAssert.assertTraces(TEST_WRITER, 1, false, { - trace(1) { + trace(2) { span(0) { spanType DDSpanTypes.TEST_SESSION_END tags(false) { "$Tags.TEST_TEST_MANAGEMENT_ENABLED" true } } + span (1) { + spanType DDSpanTypes.TEST_MODULE_END + } } }) } - private HeadlessTestSession givenAHeadlessTestSession() { def executionSettings = Stub(ExecutionSettings) executionSettings.getTestManagementSettings() >> new TestManagementSettings(true, 10) diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl index f4a4473bc4e..88f48a49fac 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -326,6 +326,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl index a0ada96ee0e..6e29663a772 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -233,6 +233,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl index b5e7dfe5179..9fe8a3800b8 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl @@ -131,6 +131,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl index a2d0d168953..b748a83b9b7 100644 --- a/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/cucumber-junit-4/src/test/resources/test-quarantined-failed/events.ftl @@ -129,6 +129,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-class/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-class/events.ftl index 25474df8081..e0b54e4b12e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-class/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-class/events.ftl @@ -1,224 +1,224 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedAfterClass", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 1, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", - "library_version" : ${content_meta_library_version}, "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "span.kind" : "test_suite_end", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "error.message" : ${content_meta_error_message}, - "test.suite" : "org.example.TestFailedAfterClass", "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedAfterClass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedAfterClass", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterClass.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterClass", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterClass.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterClass.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterClass", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterClass.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "AfterClass", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterClass" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-param/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-param/events.ftl index 33a0c175bfd..916bf7a309d 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-param/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after-param/events.ftl @@ -1,289 +1,289 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedAfterParam", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedAfterParam", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestFailedAfterParam", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedAfterParam", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterParam.parameterized_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "parameterized_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "parameterized_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "parameterized_test_succeed", + "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[0]\"}}", + "test.source.file" : "dummy_source_path", + "test.source.method" : "parameterized_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterParam", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[0]\"}}", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterParam.parameterized_test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterParam.parameterized_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "parameterized_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "parameterized_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "parameterized_test_succeed", + "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[1]\"}}", + "test.source.file" : "dummy_source_path", + "test.source.method" : "parameterized_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterParam", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[1]\"}}", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterParam.parameterized_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, - "test.callback" : "BeforeParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "BeforeParam" + }, + "metrics" : { }, "name" : "setup", + "parent_id" : ${content_test_suite_id}, "resource" : "setup", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_5}, - "test.callback" : "BeforeParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_5}, + "test.callback" : "BeforeParam" + }, + "metrics" : { }, + "name" : "setup", "parent_id" : ${content_test_suite_id}, + "resource" : "setup", "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_8}, + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_8}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_6}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack}, - "test.callback" : "AfterParam", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_6}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterParam" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, "resource" : "tearDown", - "start" : ${content_start_9}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_8}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_9}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_7}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "AfterParam", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterParam" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_9}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after/events.ftl index bf98663d9e0..3285a104314 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-after/events.ftl @@ -1,249 +1,249 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedAfter", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedAfter", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedAfter", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedAfter", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfter.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedAfter", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfter.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 1, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfter.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 1, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedAfter", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack_2}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfter.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_3}, - "test.callback" : "After", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "After" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_span_id_2}, "resource" : "tearDown", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_4}, - "test.callback" : "After", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "After" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_span_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-class/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-class/events.ftl index ee89aa70ba7..8babbbea88b 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-class/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-class/events.ftl @@ -1,130 +1,130 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedBeforeClass", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 1, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", - "library_version" : ${content_meta_library_version}, "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "span.kind" : "test_suite_end", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "error.message" : ${content_meta_error_message}, - "test.suite" : "org.example.TestFailedBeforeClass", "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedBeforeClass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedBeforeClass", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "BeforeClass", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeClass" + }, + "metrics" : { }, + "name" : "setup", + "parent_id" : ${content_test_suite_id}, + "resource" : "setup", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-param/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-param/events.ftl index 2399e8b5b57..4ab3b38a4ad 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-param/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before-param/events.ftl @@ -1,193 +1,193 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "skip", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "skip", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "skip", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "skip", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedBeforeParam", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "skip", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedBeforeParam", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "skip", + "test.suite" : "org.example.TestFailedBeforeParam", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedBeforeParam", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack}, - "test.callback" : "BeforeParam", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeParam" + }, + "metrics" : { }, "name" : "setup", + "parent_id" : ${content_test_suite_id}, "resource" : "setup", - "start" : ${content_start_5}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_5}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_5}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "BeforeParam", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeParam" + }, + "metrics" : { }, + "name" : "setup", "parent_id" : ${content_test_suite_id}, + "resource" : "setup", "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_6}, + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_6}, - "test.callback" : "AfterParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "AfterParam" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, "resource" : "tearDown", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_7}, - "test.callback" : "AfterParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "AfterParam" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before/events.ftl index 8ffd3be0f0e..b3d66d51728 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-failed-before/events.ftl @@ -1,249 +1,249 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedBefore", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedBefore", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedBefore", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedBefore", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedBefore.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedBefore", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedBefore.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 1, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedBefore.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 1, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedBefore", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack_2}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedBefore.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_3}, - "test.callback" : "Before", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "Before" + }, + "metrics" : { }, "name" : "setup", + "parent_id" : ${content_span_id_2}, "resource" : "setup", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_4}, - "test.callback" : "Before", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "Before" + }, + "metrics" : { }, + "name" : "setup", + "parent_id" : ${content_span_id}, + "resource" : "setup", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-after/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-after/events.ftl index 4d08b025bb8..2934d64a75e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-after/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-after/events.ftl @@ -1,277 +1,277 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestSucceedBeforeAfter", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestSucceedBeforeAfter", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestSucceedBeforeAfter", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestSucceedBeforeAfter", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeAfter.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeAfter", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeAfter.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeAfter.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeAfter", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeAfter.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "Before", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "Before" + }, + "metrics" : { }, "name" : "setup", + "parent_id" : ${content_span_id_2}, "resource" : "setup", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "Before", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { + "test.callback" : "Before" + }, + "metrics" : { }, + "name" : "setup", + "parent_id" : ${content_span_id}, + "resource" : "setup", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id} + }, "type" : "span", - "version" : 1, + "version" : 1 +}, { "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_5}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_8}, "duration" : ${content_duration_8}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "After", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_6}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "After" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_span_id_2}, "resource" : "tearDown", - "start" : ${content_start_9}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_8}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_9}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "After", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "After" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_span_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_9}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-class-after-class/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-class-after-class/events.ftl index 03682ac982c..1b469df92ab 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-class-after-class/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-class-after-class/events.ftl @@ -1,239 +1,239 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestSucceedBeforeClassAfterClass", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestSucceedBeforeClassAfterClass", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestSucceedBeforeClassAfterClass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestSucceedBeforeClassAfterClass", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeClassAfterClass.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeClassAfterClass", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeClassAfterClass.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeClassAfterClass.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeClassAfterClass", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeClassAfterClass.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, - "test.callback" : "BeforeClass", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_4}, + "test.callback" : "BeforeClass" + }, + "metrics" : { }, + "name" : "setup", "parent_id" : ${content_test_suite_id}, + "resource" : "setup", "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_7}, + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_5}, - "test.callback" : "AfterClass", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "AfterClass" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-param-after-param/events.ftl b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-param-after-param/events.ftl index d74bcbb5294..8181de476b5 100644 --- a/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-param-after-param/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/test/resources/test-succeed-before-param-after-param/events.ftl @@ -1,283 +1,283 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-4.13", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-4.13", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-4.13", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-4.13", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestSucceedBeforeParamAfterParam", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-4.13", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestSucceedBeforeParamAfterParam", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test.module" : "junit-4.13", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestSucceedBeforeParamAfterParam", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestSucceedBeforeParamAfterParam", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeParamAfterParam.parameterized_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "parameterized_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "parameterized_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "parameterized_test_succeed", + "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[0]\"}}", + "test.source.file" : "dummy_source_path", + "test.source.method" : "parameterized_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeParamAfterParam", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[0]\"}}", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeParamAfterParam.parameterized_test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeParamAfterParam.parameterized_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "parameterized_test_succeed()V", - "test.module" : "junit-4.13", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "parameterized_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit4", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "junit-4.13", + "test.name" : "parameterized_test_succeed", + "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[1]\"}}", + "test.source.file" : "dummy_source_path", + "test.source.method" : "parameterized_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeParamAfterParam", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.parameters" : "{\"metadata\":{\"test_name\":\"parameterized_test_succeed[1]\"}}", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit4" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeParamAfterParam.parameterized_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setup", - "resource" : "setup", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, - "test.callback" : "BeforeParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "BeforeParam" + }, + "metrics" : { }, "name" : "setup", + "parent_id" : ${content_test_suite_id}, "resource" : "setup", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_5}, - "test.callback" : "BeforeParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_5}, + "test.callback" : "BeforeParam" + }, + "metrics" : { }, + "name" : "setup", "parent_id" : ${content_test_suite_id}, + "resource" : "setup", "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_8}, + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_8}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_6}, - "test.callback" : "AfterParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_6}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "AfterParam" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, "resource" : "tearDown", - "start" : ${content_start_9}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_8}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_9}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_7}, - "test.callback" : "AfterParam", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "AfterParam" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_9}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl index d64ada6dcc4..98dbb49f3cd 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "munit-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl index bc0c817cc25..40b5ab897ce 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "munit-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl index 577b1e57a08..73c135c74fd 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed-known/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "munit-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl index 4c69a447437..b2746c28117 100644 --- a/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/munit-junit-4/src/test/resources/test-quarantined-failed/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "munit-junit-4", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl index 12bc6187c42..2aedb07c62e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-4.10", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl index 23e17404724..8b8a874e065 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-4.10", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl index c01694b5a88..a6573e540be 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-known/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-4.10", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl index f509764085d..e20c3d1c73e 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-4.10", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl index abdbf5f2836..6e9ec79858a 100644 --- a/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-4.10/src/test/resources/test-quarantined-failed/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-4.10", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl index f3295b08ced..b50f425d4c5 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -326,6 +326,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl index 234173ad399..597e8d6c292 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -233,6 +233,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl index 8f489671d7d..84d9bf701f2 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl @@ -131,6 +131,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl index fd2000293c0..c83cc0440c6 100644 --- a/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/cucumber-junit-5/src/test/resources/test-quarantined-failed/events.ftl @@ -129,6 +129,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "cucumber-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-all-after-all/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-all-after-all/events.ftl index 66970704b3d..5b7a75f2ac9 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-all-after-all/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-all-after-all/events.ftl @@ -1,241 +1,241 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestSucceedBeforeAllAfterAll", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestSucceedBeforeAllAfterAll", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestSucceedBeforeAllAfterAll", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestSucceedBeforeAllAfterAll", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeAllAfterAll.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeAllAfterAll", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeAllAfterAll.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeAllAfterAll.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeAllAfterAll", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeAllAfterAll.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setUp", - "resource" : "setUp", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, - "test.callback" : "BeforeAll", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_4}, + "test.callback" : "BeforeAll" + }, + "metrics" : { }, + "name" : "setUp", "parent_id" : ${content_test_suite_id}, + "resource" : "setUp", "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_7}, + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_5}, - "test.callback" : "AfterAll", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "AfterAll" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-each-after-each/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-each-after-each/events.ftl index a0f2336c5ab..6d2c5d5c95c 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-each-after-each/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-before-each-after-each/events.ftl @@ -1,279 +1,279 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "pass", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestSucceedBeforeEachAfterEach", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "pass", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestSucceedBeforeEachAfterEach", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "pass", + "test.suite" : "org.example.TestSucceedBeforeEachAfterEach", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestSucceedBeforeEachAfterEach", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeEachAfterEach.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeEachAfterEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestSucceedBeforeEachAfterEach.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeEachAfterEach.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestSucceedBeforeEachAfterEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestSucceedBeforeEachAfterEach.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setUp", - "resource" : "setUp", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "BeforeEach", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "BeforeEach" + }, + "metrics" : { }, "name" : "setUp", + "parent_id" : ${content_span_id}, "resource" : "setUp", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "BeforeEach", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { + "test.callback" : "BeforeEach" + }, + "metrics" : { }, + "name" : "setUp", + "parent_id" : ${content_span_id_2}, + "resource" : "setUp", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id_2} + }, "type" : "span", - "version" : 1, + "version" : 1 +}, { "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_5}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_8}, "duration" : ${content_duration_8}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "AfterEach", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_6}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "test.callback" : "AfterEach" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_span_id}, "resource" : "tearDown", - "start" : ${content_start_9}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_8}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_9}, "error" : 0, - "metrics" : { }, "meta" : { - "test.callback" : "AfterEach", + "env" : "none", "library_version" : ${content_meta_library_version}, - "env" : "none" - } - } + "test.callback" : "AfterEach" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_span_id_2}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_9}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-all/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-all/events.ftl index a12043d16d6..42a0fcfe47d 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-all/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-all/events.ftl @@ -1,226 +1,226 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedAfterAll", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 1, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", - "library_version" : ${content_meta_library_version}, "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "span.kind" : "test_suite_end", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "error.message" : ${content_meta_error_message}, - "test.suite" : "org.example.TestFailedAfterAll", "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedAfterAll", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedAfterAll", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterAll.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 0, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterAll", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterAll.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 0, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterAll.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "pass", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "pass", "test.suite" : "org.example.TestFailedAfterAll", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "_dd.profiling.ctx" : "test", - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterAll.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "AfterAll", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterAll" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_test_suite_id}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-each/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-each/events.ftl index a758ae37c46..22f95e7c8da 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-each/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-after-each/events.ftl @@ -1,251 +1,251 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedAfterEach", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedAfterEach", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedAfterEach", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedAfterEach", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterEach.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedAfterEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedAfterEach.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 1, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterEach.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 1, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedAfterEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack_2}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedAfterEach.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "tearDown", - "resource" : "tearDown", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_3}, - "test.callback" : "AfterEach", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterEach" + }, + "metrics" : { }, "name" : "tearDown", + "parent_id" : ${content_span_id}, "resource" : "tearDown", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_4}, - "test.callback" : "AfterEach", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "AfterEach" + }, + "metrics" : { }, + "name" : "tearDown", + "parent_id" : ${content_span_id_2}, + "resource" : "tearDown", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-all/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-all/events.ftl index 7f3a83d6454..a66069d423b 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-all/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-all/events.ftl @@ -1,130 +1,130 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedBeforeAll", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 1, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", - "library_version" : ${content_meta_library_version}, "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "span.kind" : "test_suite_end", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "error.message" : ${content_meta_error_message}, - "test.suite" : "org.example.TestFailedBeforeAll", "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedBeforeAll", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedBeforeAll", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_test_session_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setUp", - "resource" : "setUp", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_2}, - "test.callback" : "BeforeAll", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeAll" + }, + "metrics" : { }, + "name" : "setUp", + "parent_id" : ${content_test_suite_id}, + "resource" : "setUp", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-each/events.ftl b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-each/events.ftl index d395452b0d9..46bd5467bdd 100644 --- a/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-each/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/junit-5.8/src/test/resources/test-failed-before-each/events.ftl @@ -1,251 +1,251 @@ [ { - "type" : "test_session_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_session", - "resource" : "junit-5.8", - "start" : ${content_start}, "duration" : ${content_duration}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid}, - "test.type" : "test", + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.status" : "fail", - "test_session.name" : "session-name", - "language" : "jvm", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", "library_version" : ${content_meta_library_version}, - "component" : "junit", - "_dd.profiling.ctx" : "test", - "span.kind" : "test_session_end", "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", "test.command" : "junit-5.8", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "junit.test_session", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 }, { - "type" : "test_module_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_module", - "resource" : "junit-5.8", - "start" : ${content_start_2}, "duration" : ${content_duration_2}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_2}, - "test.type" : "test", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_module_end", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "junit.test_module", + "resource" : "junit-5.8", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_2}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 }, { - "type" : "test_suite_end", - "version" : 1, "content" : { - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test_suite", - "resource" : "org.example.TestFailedBeforeEach", - "start" : ${content_start_3}, "duration" : ${content_duration_3}, "error" : 0, - "metrics" : { - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, - "test.source.end" : 19, - "test.source.start" : 11 - }, "meta" : { "_dd.p.tid" : ${content_meta__dd_p_tid_3}, - "test.type" : "test", - "test.source.file" : "dummy_source_path", - "test.module" : "junit-5.8", - "test.status" : "fail", - "test_session.name" : "session-name", - "env" : "none", + "component" : "junit", "dummy_ci_tag" : "dummy_ci_tag_value", - "test.codeowners" : "[\"owner1\",\"owner2\"]", + "env" : "none", "library_version" : ${content_meta_library_version}, - "component" : "junit", "span.kind" : "test_suite_end", - "test.suite" : "org.example.TestFailedBeforeEach", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test.module" : "junit-5.8", + "test.source.file" : "dummy_source_path", + "test.status" : "fail", + "test.suite" : "org.example.TestFailedBeforeEach", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "test.source.end" : 19, + "test.source.start" : 11 + }, + "name" : "junit.test_suite", + "resource" : "org.example.TestFailedBeforeEach", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_3}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 }, { - "type" : "test", - "version" : 2, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedBeforeEach.another_test_succeed", - "start" : ${content_start_4}, "duration" : ${content_duration_4}, "error" : 1, - "metrics" : { - "process_id" : ${content_metrics_process_id}, - "_dd.profiling.enabled" : 0, - "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, - "test.source.end" : 18, - "test.source.start" : 12 - }, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "another_test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "another_test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "another_test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "another_test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedBeforeEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } -}, { - "type" : "test", - "version" : 2, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_2}, - "parent_id" : ${content_parent_id}, - "test_session_id" : ${content_test_session_id}, - "test_module_id" : ${content_test_module_id}, - "test_suite_id" : ${content_test_suite_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "junit.test", - "resource" : "org.example.TestFailedBeforeEach.test_succeed", - "start" : ${content_start_5}, - "duration" : ${content_duration_5}, - "error" : 1, + "test_session.name" : "session-name" + }, "metrics" : { - "process_id" : ${content_metrics_process_id}, + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, "_dd.profiling.enabled" : 0, "_dd.trace_span_attribute_schema" : 0, - "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "process_id" : ${content_metrics_process_id}, "test.source.end" : 18, "test.source.start" : 12 }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedBeforeEach.another_test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start_4}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 1, "meta" : { + "_dd.profiling.ctx" : "test", "_dd.tracer_host" : ${content_meta__dd_tracer_host}, - "test.source.file" : "dummy_source_path", - "test.source.method" : "test_succeed()V", - "test.module" : "junit-5.8", - "test.status" : "fail", + "component" : "junit", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "java.lang.RuntimeException", "language" : "jvm", - "test.is_new" : "true", - "test.codeowners" : "[\"owner1\",\"owner2\"]", "library_version" : ${content_meta_library_version}, - "test.name" : "test_succeed", + "runtime-id" : ${content_meta_runtime_id}, "span.kind" : "test", + "test.codeowners" : "[\"owner1\",\"owner2\"]", + "test.framework" : "junit5", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "junit-5.8", + "test.name" : "test_succeed", + "test.source.file" : "dummy_source_path", + "test.source.method" : "test_succeed()V", + "test.status" : "fail", "test.suite" : "org.example.TestFailedBeforeEach", - "runtime-id" : ${content_meta_runtime_id}, "test.type" : "test", - "test_session.name" : "session-name", - "env" : "none", - "dummy_ci_tag" : "dummy_ci_tag_value", - "component" : "junit", - "error.type" : "java.lang.RuntimeException", - "_dd.profiling.ctx" : "test", - "error.message" : ${content_meta_error_message}, - "error.stack" : ${content_meta_error_stack_2}, - "test.framework_version" : ${content_meta_test_framework_version}, - "test.framework" : "junit5" - } - } + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.source.end" : 18, + "test.source.start" : 12 + }, + "name" : "junit.test", + "parent_id" : ${content_parent_id}, + "resource" : "org.example.TestFailedBeforeEach.test_succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 }, { - "type" : "span", - "version" : 1, "content" : { - "trace_id" : ${content_trace_id}, - "span_id" : ${content_span_id_3}, - "parent_id" : ${content_span_id}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", - "name" : "setUp", - "resource" : "setUp", - "start" : ${content_start_6}, "duration" : ${content_duration_6}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_3}, - "test.callback" : "BeforeEach", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } -}, { - "type" : "span", - "version" : 1, - "content" : { - "trace_id" : ${content_trace_id_2}, - "span_id" : ${content_span_id_4}, - "parent_id" : ${content_span_id_2}, - "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeEach" + }, + "metrics" : { }, "name" : "setUp", + "parent_id" : ${content_span_id}, "resource" : "setUp", - "start" : ${content_start_7}, + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { "duration" : ${content_duration_7}, "error" : 1, - "metrics" : { }, "meta" : { + "env" : "none", + "error.message" : ${content_meta_error_message}, "error.stack" : ${content_meta_error_stack_4}, - "test.callback" : "BeforeEach", - "library_version" : ${content_meta_library_version}, "error.type" : "java.lang.RuntimeException", - "env" : "none", - "error.message" : ${content_meta_error_message} - } - } + "library_version" : ${content_meta_library_version}, + "test.callback" : "BeforeEach" + }, + "metrics" : { }, + "name" : "setUp", + "parent_id" : ${content_span_id_2}, + "resource" : "setUp", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 } ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl index f3a48eef64c..bfe1263f1ff 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -350,6 +350,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "spock-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl index 857db154c05..c4808da6720 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -249,6 +249,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "spock-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl index fe0306641fb..2015aa5d8b2 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-known/events.ftl @@ -139,6 +139,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "spock-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl index 30493e53ae9..076e6d5e932 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -186,6 +186,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "spock-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl index 91ce7740989..44f26a9dacc 100644 --- a/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/spock-junit-5/src/test/resources/test-quarantined-failed/events.ftl @@ -137,6 +137,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "spock-junit-5", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl index dc8b9070ed5..0513a9cb6eb 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-5.3", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl index 88168cc8695..d67333861ea 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-5.3", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl index 8f49744147b..4cd3042664f 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-known/events.ftl @@ -52,6 +52,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-5.3", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl index ed0a72743bf..631f415b2ac 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-5.3", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl index f1785157e56..f66021f3e58 100644 --- a/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/junit-5.3/src/test/resources/test-quarantined-failed/events.ftl @@ -50,6 +50,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "junit-5.3", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl index ce167b8f692..49653072786 100644 --- a/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/karate/src/test/resources/test-quarantined-failed/events.ftl @@ -218,6 +218,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "karate", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl index 83d11a89341..f1fe335b033 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -335,6 +335,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "scalatest", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl index 0dff69a5bc1..5f98ac2cd75 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -240,6 +240,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "scalatest", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl index 55308c9de52..e1ece69ed19 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed-known/events.ftl @@ -136,6 +136,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "scalatest", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl index 90ff0b202ac..421a001aae5 100644 --- a/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl +++ b/dd-java-agent/instrumentation/scalatest/src/test/resources/test-quarantined-failed/events.ftl @@ -134,6 +134,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "scalatest", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl index 2fa88f128ac..c4161a5e22a 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-7/events.ftl @@ -137,6 +137,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "testng-7", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl index 492f58c1d62..2e0cd3b7280 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-atr-7/events.ftl @@ -350,6 +350,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "testng-7", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl index 1d325591a33..8d957840a86 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -249,6 +249,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "testng-7", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl index da2766e90bf..8c3400fc9ac 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-known/events.ftl @@ -139,6 +139,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "testng-7", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, diff --git a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl index 1d01ae4ea75..c9a8492b62f 100644 --- a/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl +++ b/dd-java-agent/instrumentation/testng/testng-7/src/test/resources/test-quarantined-failed-parameterized/events.ftl @@ -186,6 +186,7 @@ "test.framework_version" : ${content_meta_test_framework_version}, "test.module" : "testng-7", "test.status" : "fail", + "test.test_management.enabled" : "true", "test.type" : "test", "test_session.name" : "session-name" }, From bd2aa398f9864b29fd1b7a387a5cb01957ef9c38 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 4 Feb 2025 16:14:50 +0100 Subject: [PATCH 09/10] make test management settings immutable and update retries override --- .../config/ExecutionSettingsFactoryImpl.java | 27 ++++++++----------- .../config/TestManagementSettings.java | 6 +---- .../datadog/trace/api/ConfigDefaults.java | 1 - .../main/java/datadog/trace/api/Config.java | 7 ++--- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java index 90cfa949823..73346c71080 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java @@ -1,7 +1,6 @@ package datadog.trace.civisibility.config; import datadog.trace.api.Config; -import datadog.trace.api.ConfigDefaults; import datadog.trace.api.civisibility.CIConstants; import datadog.trace.api.civisibility.CiVisibilityWellKnownTags; import datadog.trace.api.civisibility.config.TestIdentifier; @@ -28,7 +27,6 @@ import java.util.concurrent.Future; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; -import java.util.function.Consumer; import java.util.function.Function; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -179,16 +177,20 @@ private Map doCreate( settings, CiVisibilitySettings::isKnownTestsEnabled, Config::isCiVisibilityKnownTestsRequestEnabled); + boolean testManagementEnabled = isFeatureEnabled( settings, s -> s.getTestManagementSettings().isEnabled(), Config::isCiVisibilityTestManagementEnabled); + TestManagementSettings testManagementSettings = TestManagementSettings.DEFAULT; if (testManagementEnabled) { - overrideIntegerSetting( - Config::getCiVisibilityTestManagementAttemptToFixRetries, - value -> value != ConfigDefaults.DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, - value -> settings.getTestManagementSettings().setAttemptToFixRetries(value)); + testManagementSettings = settings.getTestManagementSettings(); + if (isValueOverriden(Config::getCiVisibilityTestManagementAttemptToFixRetries, null)) { + testManagementSettings = + new TestManagementSettings( + true, config.getCiVisibilityTestManagementAttemptToFixRetries()); + } } LOGGER.info( @@ -243,9 +245,7 @@ private Map doCreate( earlyFlakeDetectionEnabled ? settings.getEarlyFlakeDetectionSettings() : EarlyFlakeDetectionSettings.DEFAULT, - testManagementEnabled - ? settings.getTestManagementSettings() - : TestManagementSettings.DEFAULT, + testManagementSettings, skippableTests.getCorrelationId(), skippableTests .getIdentifiersByModule() @@ -288,14 +288,9 @@ private boolean isFeatureEnabled( return remoteSetting.apply(ciVisibilitySettings) && killSwitch.apply(config); } - private void overrideIntegerSetting( - Function valueGetter, - Function overrideCheck, - Consumer overrideAction) { + private boolean isValueOverriden(Function valueGetter, Integer defaultValue) { Integer value = valueGetter.apply(config); - if (value != null && overrideCheck.apply(value)) { - overrideAction.accept(value); - } + return !value.equals(defaultValue); } @Nonnull diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java index 0dea4d3c302..64e2ddc4e00 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestManagementSettings.java @@ -7,7 +7,7 @@ public class TestManagementSettings { public static final TestManagementSettings DEFAULT = new TestManagementSettings(false, -1); private final boolean enabled; - private int attemptToFixRetries; + private final int attemptToFixRetries; public TestManagementSettings(boolean enabled, int attemptToFixRetries) { this.enabled = enabled; @@ -22,10 +22,6 @@ public int getAttemptToFixRetries() { return attemptToFixRetries; } - public void setAttemptToFixRetries(int value) { - attemptToFixRetries = value; - } - @Override public boolean equals(Object o) { if (this == o) { diff --git a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java index eff18692534..4eb414f3394 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java @@ -163,7 +163,6 @@ public final class ConfigDefaults { static final int DEFAULT_CIVISIBILITY_SIGNAL_SERVER_PORT = 0; static final List DEFAULT_CIVISIBILITY_RESOURCE_FOLDER_NAMES = asList("/resources/", "/java/", "/groovy/", "/kotlin/", "/scala/"); - public static final int DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES = -1; static final boolean DEFAULT_REMOTE_CONFIG_ENABLED = true; static final boolean DEFAULT_REMOTE_CONFIG_INTEGRITY_CHECK_ENABLED = false; diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index 4f4fe8e07c6..e49c6269dda 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -114,12 +114,14 @@ public static String getHostName() { private final String runtimeVersion; private final String applicationKey; + /** * Note: this has effect only on profiling site. Traces are sent to Datadog agent and are not * affected by this setting. If CI Visibility is used with agentless mode, api key is used when * sending data (including traces) to backend */ private final String apiKey; + /** * Note: this has effect only on profiling site. Traces are sent to Datadog agent and are not * affected by this setting. @@ -374,7 +376,7 @@ public static String getHostName() { private final String ciVisibilityRemoteEnvVarsProviderKey; private final String ciVisibilityTestOrder; private final boolean ciVisibilityTestManagementEnabled; - private final int ciVisibilityTestManagementAttemptToFixRetries; + private final Integer ciVisibilityTestManagementAttemptToFixRetries; private final boolean remoteConfigEnabled; private final boolean remoteConfigIntegrityCheckEnabled; @@ -1526,8 +1528,7 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment()) ciVisibilityTestOrder = configProvider.getString(CIVISIBILITY_TEST_ORDER); ciVisibilityTestManagementEnabled = configProvider.getBoolean(TEST_MANAGEMENT_ENABLED, true); ciVisibilityTestManagementAttemptToFixRetries = - configProvider.getInteger( - TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES, DEFAULT_TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES); + configProvider.getInteger(TEST_MANAGEMENT_ATTEMPT_TO_FIX_RETRIES); remoteConfigEnabled = configProvider.getBoolean( From e78edfa92cc10fd39977dec79499da2f3d154894 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Tue, 4 Feb 2025 16:58:15 +0100 Subject: [PATCH 10/10] refactor test management overriding logic --- .../config/ExecutionSettingsFactoryImpl.java | 39 ++++++++++--------- .../main/java/datadog/trace/api/Config.java | 2 +- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java index 73346c71080..916661efa13 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java @@ -178,20 +178,7 @@ private Map doCreate( CiVisibilitySettings::isKnownTestsEnabled, Config::isCiVisibilityKnownTestsRequestEnabled); - boolean testManagementEnabled = - isFeatureEnabled( - settings, - s -> s.getTestManagementSettings().isEnabled(), - Config::isCiVisibilityTestManagementEnabled); - TestManagementSettings testManagementSettings = TestManagementSettings.DEFAULT; - if (testManagementEnabled) { - testManagementSettings = settings.getTestManagementSettings(); - if (isValueOverriden(Config::getCiVisibilityTestManagementAttemptToFixRetries, null)) { - testManagementSettings = - new TestManagementSettings( - true, config.getCiVisibilityTestManagementAttemptToFixRetries()); - } - } + TestManagementSettings testManagementSettings = getTestManagementSettings(settings); LOGGER.info( "CI Visibility settings ({}, {}/{}/{}):\n" @@ -214,7 +201,7 @@ private Map doCreate( impactedTestsEnabled, knownTestsRequest, flakyTestRetriesEnabled, - testManagementEnabled); + testManagementSettings.isEnabled()); Future skippableTestsFuture = executor.submit(() -> getSkippableTests(tracerEnvironment, itrEnabled)); @@ -288,9 +275,24 @@ private boolean isFeatureEnabled( return remoteSetting.apply(ciVisibilitySettings) && killSwitch.apply(config); } - private boolean isValueOverriden(Function valueGetter, Integer defaultValue) { - Integer value = valueGetter.apply(config); - return !value.equals(defaultValue); + @Nonnull + private TestManagementSettings getTestManagementSettings(CiVisibilitySettings settings) { + boolean testManagementEnabled = + isFeatureEnabled( + settings, + s -> s.getTestManagementSettings().isEnabled(), + Config::isCiVisibilityTestManagementEnabled); + + if (!testManagementEnabled) { + return TestManagementSettings.DEFAULT; + } + + Integer retries = config.getCiVisibilityTestManagementAttemptToFixRetries(); + if (retries != null) { + return new TestManagementSettings(true, retries); + } + + return settings.getTestManagementSettings(); } @Nonnull @@ -325,7 +327,6 @@ private SkippableTests getSkippableTests( Thread.currentThread().interrupt(); LOGGER.error("Interrupted while waiting for git data upload", e); return SkippableTests.EMPTY; - } catch (Exception e) { LOGGER.error("Could not obtain list of skippable tests, will proceed without skipping", e); return SkippableTests.EMPTY; diff --git a/internal-api/src/main/java/datadog/trace/api/Config.java b/internal-api/src/main/java/datadog/trace/api/Config.java index e49c6269dda..182456cf507 100644 --- a/internal-api/src/main/java/datadog/trace/api/Config.java +++ b/internal-api/src/main/java/datadog/trace/api/Config.java @@ -2990,7 +2990,7 @@ public boolean isCiVisibilityTestManagementEnabled() { return ciVisibilityTestManagementEnabled; } - public int getCiVisibilityTestManagementAttemptToFixRetries() { + public Integer getCiVisibilityTestManagementAttemptToFixRetries() { return ciVisibilityTestManagementAttemptToFixRetries; }