From 07a876cbd6d9fee346432b466825bee1596e1b1e Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 13 Jul 2026 14:24:21 +0200 Subject: [PATCH 1/2] feat: execution instrumentation for karate v2 --- .../KarateExecutionInstrumentation.java | 85 ++ .../karate2/KarateInstrumentation.java | 9 + .../karate2/ExecutionContext.java | 56 ++ .../karate2/KarateBuilderAdvice.java | 7 +- .../karate2/KarateScenarioAdvice.java | 100 ++ .../karate2/KarateTracingListener.java | 50 +- .../src/test/groovy/KarateV2Test.groovy | 138 ++- .../src/test/java/org/example/Flaky.java | 12 + .../src/test/java/org/example/Slow.java | 12 + .../TestFailedParameterizedKarate.java | 17 + .../example/TestFailedThenSucceedKarate.java | 17 + .../TestParameterizedMoreCasesKarate.java | 17 + .../org/example/TestSkippedFeatureKarate.java | 19 + .../org/example/TestSucceedKarateSkipEfd.java | 17 + .../org/example/TestSucceedKarateSlow.java | 16 + .../org/example/TestSucceedOneCaseKarate.java | 17 + .../example/TestSucceedParallelKarate.java | 16 + .../org/example/TestUnskippableKarate.java | 16 + .../java/org/example/TestWithSetupKarate.java | 16 + .../example/test_failed_parameterized.feature | 13 + .../example/test_failed_then_succeed.feature | 4 + .../test_parameterized_more_cases.feature | 14 + .../org/example/test_succeed_one_case.feature | 6 + .../org/example/test_succeed_skip_efd.feature | 6 + .../org/example/test_succeed_slow.feature | 6 + .../java/org/example/test_unskippable.feature | 10 + .../java/org/example/test_with_setup.feature | 20 + .../coverages.ftl | 1 + .../events.ftl | 244 +++++ .../coverages.ftl | 1 + .../events.ftl | 525 ++++++++++ .../test-attempt-to-fix-failed/coverages.ftl | 1 + .../test-attempt-to-fix-failed/events.ftl | 243 +++++ .../coverages.ftl | 1 + .../events.ftl | 244 +++++ .../coverages.ftl | 1 + .../events.ftl | 525 ++++++++++ .../coverages.ftl | 1 + .../test-attempt-to-fix-succeeded/events.ftl | 520 ++++++++++ .../test-disabled-failed/coverages.ftl | 1 + .../resources/test-disabled-failed/events.ftl | 213 ++++ .../coverages.ftl | 1 + .../events.ftl | 926 ++++++++++++++++++ .../coverages.ftl | 1 + .../events.ftl | 333 +++++++ .../test-efd-known-test/coverages.ftl | 1 + .../resources/test-efd-known-test/events.ftl | 170 ++++ .../coverages.ftl | 1 + .../events.ftl | 809 +++++++++++++++ .../test-efd-new-slow-test/coverages.ftl | 1 + .../test-efd-new-slow-test/events.ftl | 241 +++++ .../resources/test-efd-new-test/coverages.ftl | 1 + .../resources/test-efd-new-test/events.ftl | 311 ++++++ .../test-efd-skip-new-test/coverages.ftl | 1 + .../test-efd-skip-new-test/events.ftl | 171 ++++ .../test-failed-then-succeed/coverages.ftl | 1 + .../test-failed-then-succeed/events.ftl | 310 ++++++ .../test-itr-unskippable/coverages.ftl | 1 + .../resources/test-itr-unskippable/events.ftl | 249 +++++ .../test-quarantined-failed-atr/coverages.ftl | 1 + .../test-quarantined-failed-atr/events.ftl | 533 ++++++++++ .../test-quarantined-failed-efd/coverages.ftl | 1 + .../test-quarantined-failed-efd/events.ftl | 533 ++++++++++ .../coverages.ftl | 1 + .../test-quarantined-failed-known/events.ftl | 381 +++++++ .../test-quarantined-failed/coverages.ftl | 1 + .../test-quarantined-failed/events.ftl | 240 +++++ .../resources/test-retry-failed/coverages.ftl | 1 + .../resources/test-retry-failed/events.ftl | 528 ++++++++++ .../test-retry-parameterized/coverages.ftl | 1 + .../test-retry-parameterized/events.ftl | 822 ++++++++++++++++ .../test-skipped-feature/coverages.ftl | 1 + .../resources/test-skipped-feature/events.ftl | 236 +++++ .../test-succeed-parallel/coverages.ftl | 1 + .../test-succeed-parallel/events.ftl | 236 +++++ .../resources/test-with-setup/coverages.ftl | 1 + .../test/resources/test-with-setup/events.ftl | 235 +++++ 77 files changed, 10495 insertions(+), 24 deletions(-) create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/ExecutionContext.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateScenarioAdvice.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Flaky.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Slow.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedParameterizedKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedThenSucceedKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestParameterizedMoreCasesKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSkippedFeatureKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSkipEfd.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSlow.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedOneCaseKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedParallelKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestUnskippableKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestWithSetupKarate.java create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_parameterized.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_then_succeed.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_parameterized_more_cases.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_one_case.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_skip_efd.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_slow.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_unskippable.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_with_setup.feature create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/events.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/coverages.ftl create mode 100644 dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/events.ftl diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java new file mode 100644 index 00000000000..890a85ba1d8 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java @@ -0,0 +1,85 @@ +package datadog.trace.instrumentation.karate2; + +import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.isBridge; +import static net.bytebuddy.matcher.ElementMatchers.not; +import static net.bytebuddy.matcher.ElementMatchers.returns; +import static net.bytebuddy.matcher.ElementMatchers.takesArgument; +import static net.bytebuddy.matcher.ElementMatchers.takesArguments; +import static net.bytebuddy.matcher.ElementMatchers.takesNoArguments; + +import com.google.auto.service.AutoService; +import datadog.trace.agent.tooling.Instrumenter; +import datadog.trace.agent.tooling.InstrumenterModule; +import datadog.trace.api.Config; +import java.util.Collections; +import java.util.Map; + +/** + * Drives test-retry execution policies (ATR / EFD / attempt-to-fix) and failure suppression for + * Karate v2. + * + * + * + * Compiled for Java 8 (see {@link KarateInstrumentation}); the advice lives in the {@code java21} + * source set. + */ +@AutoService(InstrumenterModule.class) +public class KarateExecutionInstrumentation extends InstrumenterModule.CiVisibility + implements Instrumenter.ForKnownTypes, Instrumenter.HasMethodAdvice { + + public KarateExecutionInstrumentation() { + super("ci-visibility", "karate", "test-retry"); + } + + @Override + public boolean isEnabled() { + return super.isEnabled() && Config.get().isCiVisibilityExecutionPoliciesEnabled(); + } + + @Override + public String[] knownMatchingTypes() { + return new String[] {"io.karatelabs.core.ScenarioRuntime", "io.karatelabs.core.ScenarioResult"}; + } + + @Override + public String[] helperClassNames() { + return new String[] { + packageName + ".KarateUtils", + packageName + ".TestEventsHandlerHolder", + packageName + ".ExecutionContext", + packageName + ".KarateTracingListener", + packageName + ".KarateScenarioAdvice", + packageName + ".KarateScenarioAdvice$RetryAdvice", + packageName + ".KarateScenarioAdvice$SuppressErrorAdvice" + }; + } + + @Override + public Map contextStore() { + return Collections.singletonMap( + "io.karatelabs.gherkin.Scenario", packageName + ".ExecutionContext"); + } + + @Override + public void methodAdvice(MethodTransformer transformer) { + // ScenarioRuntime#call() is the run()-equivalent; match the concrete ScenarioResult-returning + // method, not the synthetic Callable#call() bridge. + transformer.applyAdvice( + named("call") + .and(takesNoArguments()) + .and(returns(named("io.karatelabs.core.ScenarioResult"))) + .and(not(isBridge())), + packageName + ".KarateScenarioAdvice$RetryAdvice"); + + // ScenarioResult#addStepResult(StepResult) + transformer.applyAdvice( + named("addStepResult") + .and(takesArguments(1)) + .and(takesArgument(0, named("io.karatelabs.core.StepResult"))), + packageName + ".KarateScenarioAdvice$SuppressErrorAdvice"); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateInstrumentation.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateInstrumentation.java index 5b3b7ad8d54..522c8a464fc 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateInstrumentation.java +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateInstrumentation.java @@ -5,6 +5,8 @@ import com.google.auto.service.AutoService; import datadog.trace.agent.tooling.Instrumenter; import datadog.trace.agent.tooling.InstrumenterModule; +import java.util.Collections; +import java.util.Map; /** * Registers a {@code io.karatelabs.core.RunListener} on every {@code @@ -32,11 +34,18 @@ public String[] helperClassNames() { return new String[] { packageName + ".KarateUtils", packageName + ".TestEventsHandlerHolder", + packageName + ".ExecutionContext", packageName + ".KarateTracingListener", packageName + ".KarateBuilderAdvice" }; } + @Override + public Map contextStore() { + return Collections.singletonMap( + "io.karatelabs.gherkin.Scenario", packageName + ".ExecutionContext"); + } + @Override public void methodAdvice(MethodTransformer transformer) { transformer.applyAdvice(isConstructor(), packageName + ".KarateBuilderAdvice"); diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/ExecutionContext.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/ExecutionContext.java new file mode 100644 index 00000000000..91e24c197fe --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/ExecutionContext.java @@ -0,0 +1,56 @@ +package datadog.trace.instrumentation.karate2; + +import datadog.trace.api.civisibility.config.TestIdentifier; +import datadog.trace.api.civisibility.config.TestSourceData; +import datadog.trace.api.civisibility.execution.TestExecutionPolicy; +import io.karatelabs.gherkin.Scenario; +import java.util.Collection; + +public class ExecutionContext { + + private final TestExecutionPolicy executionPolicy; + private boolean suppressFailures; + private Throwable suppressedError; + + public ExecutionContext(TestExecutionPolicy executionPolicy) { + this.executionPolicy = executionPolicy; + } + + public void setSuppressFailures(boolean suppressFailures) { + this.suppressFailures = suppressFailures; + } + + public boolean shouldSuppressFailures() { + return suppressFailures; + } + + public TestExecutionPolicy getExecutionPolicy() { + return executionPolicy; + } + + /** + * Karate v2 {@code StepResult} is immutable (no {@code setFailedReason}/{@code setErrorIgnored}), + * so a failure that was suppressed for retry purposes cannot be carried on the replacement step. + * We stash it here instead, so the tracing listener can still report the failure to CI + * Visibility. + */ + public void setSuppressedError(Throwable suppressedError) { + if (this.suppressedError == null) { + this.suppressedError = suppressedError; + } + } + + public Throwable getAndClearSuppressedError() { + Throwable suppressedError = this.suppressedError; + this.suppressedError = null; + return suppressedError; + } + + public static ExecutionContext create(Scenario scenario) { + TestIdentifier testIdentifier = KarateUtils.toTestIdentifier(scenario); + Collection testTags = KarateUtils.getCategories(scenario.getTagsEffective()); + return new ExecutionContext( + TestEventsHandlerHolder.TEST_EVENTS_HANDLER.executionPolicy( + testIdentifier, TestSourceData.UNKNOWN, testTags)); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateBuilderAdvice.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateBuilderAdvice.java index 3126c907eea..54bda255b9c 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateBuilderAdvice.java +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateBuilderAdvice.java @@ -1,8 +1,11 @@ package datadog.trace.instrumentation.karate2; +import datadog.trace.bootstrap.ContextStore; +import datadog.trace.bootstrap.InstrumentationContext; import io.karatelabs.core.RunEvent; import io.karatelabs.core.RunListener; import io.karatelabs.core.Runner; +import io.karatelabs.gherkin.Scenario; import net.bytebuddy.asm.Advice; /** Advice for the {@code io.karatelabs.core.Runner.Builder} constructor. */ @@ -10,7 +13,9 @@ public class KarateBuilderAdvice { @Advice.OnMethodExit public static void onRunnerBuilderConstructorExit(@Advice.This Runner.Builder builder) { - builder.listener(new KarateTracingListener()); + ContextStore scenarioContext = + InstrumentationContext.get(Scenario.class, ExecutionContext.class); + builder.listener(new KarateTracingListener(scenarioContext)); } // Karate 2.0.0 and above diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateScenarioAdvice.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateScenarioAdvice.java new file mode 100644 index 00000000000..6b647b73c87 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateScenarioAdvice.java @@ -0,0 +1,100 @@ +package datadog.trace.instrumentation.karate2; + +import datadog.trace.api.civisibility.execution.TestExecutionPolicy; +import datadog.trace.bootstrap.CallDepthThreadLocalMap; +import datadog.trace.bootstrap.InstrumentationContext; +import io.karatelabs.core.RunEvent; +import io.karatelabs.core.RunListener; +import io.karatelabs.core.ScenarioResult; +import io.karatelabs.core.ScenarioRuntime; +import io.karatelabs.core.StepResult; +import io.karatelabs.gherkin.Scenario; +import net.bytebuddy.asm.Advice; + +/** Advice classes for {@code io.karatelabs.core.ScenarioRuntime}/{@code ScenarioResult}. */ +public class KarateScenarioAdvice { + + public static class RetryAdvice { + @Advice.OnMethodEnter + public static void beforeExecute(@Advice.This ScenarioRuntime scenarioRuntime) { + ExecutionContext executionContext = + InstrumentationContext.get(Scenario.class, ExecutionContext.class) + .computeIfAbsent(scenarioRuntime.getScenario(), ExecutionContext::create); + + // Indicate beforehand whether failures should be suppressed. This aligns the ordering with + // the rest of the frameworks. + TestExecutionPolicy executionPolicy = executionContext.getExecutionPolicy(); + executionContext.setSuppressFailures(executionPolicy.suppressFailures()); + } + + @Advice.OnMethodExit + public static void afterExecute( + @Advice.This ScenarioRuntime scenarioRuntime, + @Advice.Return(readOnly = false) ScenarioResult result) { + if (CallDepthThreadLocalMap.incrementCallDepth(ScenarioRuntime.class) > 0) { + // nested call (a retry invoked below, or a called scenario) + return; + } + + try { + Scenario scenario = scenarioRuntime.getScenario(); + ExecutionContext context = + InstrumentationContext.get(Scenario.class, ExecutionContext.class).get(scenario); + if (context == null) { + return; + } + + ScenarioResult finalResult = result; + TestExecutionPolicy executionPolicy = context.getExecutionPolicy(); + while (executionPolicy.applicable()) { + ScenarioRuntime retry = + new ScenarioRuntime(scenarioRuntime.getFeatureRuntime(), scenario); + finalResult = retry.call(); + } + + // override the return value so the final attempt is the one recorded. + result = finalResult; + } finally { + CallDepthThreadLocalMap.reset(ScenarioRuntime.class); + } + } + + // Karate 2.0.0 and above + public static void muzzleCheck(RunListener runListener) { + runListener.onEvent((RunEvent) null); + } + } + + public static class SuppressErrorAdvice { + @Advice.OnMethodEnter + public static void onAddingStepResult( + @Advice.Argument(value = 0, readOnly = false) StepResult stepResult, + @Advice.FieldValue("scenario") Scenario scenario) { + + if (stepResult.isFailed()) { + ExecutionContext executionContext = + InstrumentationContext.get(Scenario.class, ExecutionContext.class).get(scenario); + if (executionContext == null) { + return; + } + + // Suppress every failing step of a to-be-retried attempt (not just the first): with + // continueOnStepFailure a single attempt can add multiple failing steps, and any leak + // would mark the retry attempt's result failed. + if (executionContext.shouldSuppressFailures()) { + // v2 StepResult is immutable: preserve the error out-of-band, then replace the failing + // step with a skipped one so the scenario no longer counts as failed. + executionContext.setSuppressedError(stepResult.getError()); + stepResult = StepResult.skipped(stepResult.getStep(), stepResult.getStartTime()); + } + } + } + + // Karate 2.0.0 and above + public static void muzzleCheck(RunListener runListener) { + runListener.onEvent((RunEvent) null); + } + } + + private KarateScenarioAdvice() {} +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateTracingListener.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateTracingListener.java index 2fa59009dd8..ce37bdc0ffa 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateTracingListener.java +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java21/datadog/trace/instrumentation/karate2/KarateTracingListener.java @@ -6,8 +6,10 @@ import datadog.trace.api.civisibility.config.TestSourceData; import datadog.trace.api.civisibility.events.TestDescriptor; import datadog.trace.api.civisibility.events.TestSuiteDescriptor; +import datadog.trace.api.civisibility.execution.TestExecutionTracker; import datadog.trace.api.civisibility.telemetry.tag.SkipReason; import datadog.trace.api.civisibility.telemetry.tag.TestFrameworkInstrumentation; +import datadog.trace.bootstrap.ContextStore; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; import datadog.trace.bootstrap.instrumentation.api.Tags; @@ -34,6 +36,12 @@ public class KarateTracingListener implements RunListener { public static final String FRAMEWORK_VERSION = KarateUtils.getKarateVersion(); public static final String KARATE_STEP_SPAN_NAME = "karate.step"; + private final ContextStore scenarioContext; + + public KarateTracingListener(ContextStore scenarioContext) { + this.scenarioContext = scenarioContext; + } + @Override public boolean onEvent(RunEvent event) { RunEventType type = event.getType(); @@ -101,6 +109,9 @@ private boolean beforeScenario(ScenarioRunEvent event) { String parameters = KarateUtils.getParameters(scenario); Collection categories = KarateUtils.getCategories(scenario.getTagsEffective()); + ExecutionContext context = scenarioContext.get(scenario); + TestExecutionTracker executionTracker = context != null ? context.getExecutionPolicy() : null; + if (Config.get().isCiVisibilityTestSkippingEnabled() || Config.get().isCiVisibilityTestManagementEnabled()) { TestIdentifier skippableTest = KarateUtils.toTestIdentifier(scenario); @@ -119,7 +130,7 @@ private boolean beforeScenario(ScenarioRunEvent event) { categories, TestSourceData.UNKNOWN, skipReason.getDescription(), - null); + executionTracker); return false; } } @@ -134,7 +145,7 @@ private boolean beforeScenario(ScenarioRunEvent event) { categories, TestSourceData.UNKNOWN, null, - null); + executionTracker); return true; } @@ -143,17 +154,23 @@ private void afterScenario(ScenarioRunEvent event) { if (skipTracking(sr)) { return; } + Scenario scenario = sr.getScenario(); ScenarioResult result = event.result(); TestDescriptor testDescriptor = KarateUtils.toTestDescriptor(sr); - Throwable failedReason = getFailedReason(result); + ExecutionContext context = scenarioContext.get(scenario); + Throwable suppressedError = context != null ? context.getAndClearSuppressedError() : null; + Throwable failedReason = getFailedReason(result, suppressedError); + if ((result != null && result.isFailed()) || failedReason != null) { TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestFailure(testDescriptor, failedReason); } else if (result == null || result.getStepResults().isEmpty()) { TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestSkip(testDescriptor, null); } - TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestFinish(testDescriptor, null, null); + TestExecutionTracker executionTracker = context != null ? context.getExecutionPolicy() : null; + TestEventsHandlerHolder.TEST_EVENTS_HANDLER.onTestFinish( + testDescriptor, null, executionTracker); } private void beforeStep(StepRunEvent event) { @@ -187,20 +204,21 @@ private void afterStep(StepRunEvent event) { span.finish(); } - private static Throwable getFailedReason(ScenarioResult result) { - if (result == null) { - return null; - } - Throwable error = result.getError(); - if (error != null) { - return error; - } - for (StepResult stepResult : result.getStepResults()) { - if (stepResult.getError() != null) { - return stepResult.getError(); + private static Throwable getFailedReason(ScenarioResult result, Throwable suppressedError) { + if (result != null) { + Throwable error = result.getError(); + if (error != null) { + return error; + } + for (StepResult stepResult : result.getStepResults()) { + if (stepResult.getError() != null) { + return stepResult.getError(); + } } } - return null; + // a failure that was suppressed by the retry logic (the failing step was replaced with a + // skipped one) is carried out-of-band on the ExecutionContext + return suppressedError; } private static Throwable suiteThrowable(FeatureResult result) { diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy index 0d7b3d7e53f..a295dd66deb 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy @@ -1,11 +1,10 @@ import datadog.trace.api.DisableTestTrace +import datadog.trace.api.civisibility.config.TestFQN import datadog.trace.api.civisibility.config.TestIdentifier import datadog.trace.civisibility.CiVisibilityInstrumentationTest import datadog.trace.instrumentation.karate2.KarateUtils import datadog.trace.instrumentation.karate2.TestEventsHandlerHolder -import org.example.TestFailedKarate -import org.example.TestParameterizedKarate -import org.example.TestSucceedKarate +import org.example.* import org.junit.jupiter.engine.JupiterTestEngine import org.junit.platform.engine.DiscoverySelector import org.junit.platform.engine.TestExecutionResult @@ -28,10 +27,13 @@ class KarateV2Test extends CiVisibilityInstrumentationTest { assertSpansData(testcaseName) where: - testcaseName | success | tests - "test-succeed" | true | [TestSucceedKarate] - "test-parameterized" | true | [TestParameterizedKarate] - "test-failed" | false | [TestFailedKarate] + testcaseName | success | tests + "test-succeed" | true | [TestSucceedKarate] + "test-succeed-parallel" | true | [TestSucceedParallelKarate] + "test-with-setup" | true | [TestWithSetupKarate] + "test-parameterized" | true | [TestParameterizedKarate] + "test-failed" | false | [TestFailedKarate] + "test-skipped-feature" | true | [TestSkippedFeatureKarate] } def "test ITR #testcaseName"() { @@ -47,6 +49,128 @@ class KarateV2Test extends CiVisibilityInstrumentationTest { "test-itr-skipping-parameterized" | [TestParameterizedKarate] | [ new TestIdentifier("[org/example/test_parameterized] test parameterized", "first scenario as an outline", '{"param":"\'a\'","value":"aa"}') ] + "test-itr-unskippable" | [TestUnskippableKarate] | [ + new TestIdentifier("[org/example/test_unskippable] test unskippable", "first scenario", null) + ] + } + + def "test flaky retries #testcaseName"() { + givenFlakyRetryEnabled(true) + givenFlakyTests(retriedTests) + + runTests(tests, success) + + assertSpansData(testcaseName) + + where: + testcaseName | success | tests | retriedTests + "test-failed" | false | [TestFailedKarate] | [] + "test-retry-failed" | false | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + "test-failed-then-succeed" | true | [TestFailedThenSucceedKarate] | [ + new TestFQN("[org/example/test_failed_then_succeed] test failed", "flaky scenario") + ] + "test-retry-parameterized" | false | [TestFailedParameterizedKarate] | [ + new TestFQN("[org/example/test_failed_parameterized] test parameterized", "first scenario as an outline") + ] + } + + def "test early flakiness detection #testcaseName"() { + givenEarlyFlakinessDetectionEnabled(true) + givenKnownTests(knownTestsList) + + runTests(tests) + + assertSpansData(testcaseName) + + where: + testcaseName | tests | knownTestsList + "test-efd-known-test" | [TestSucceedOneCaseKarate] | [ + new TestFQN("[org/example/test_succeed_one_case] test succeed", "first scenario") + ] + "test-efd-known-parameterized-test" | [TestParameterizedKarate] | [ + new TestFQN("[org/example/test_parameterized] test parameterized", "first scenario as an outline") + ] + "test-efd-new-test" | [TestSucceedOneCaseKarate] | [] + "test-efd-new-parameterized-test" | [TestParameterizedKarate] | [] + "test-efd-new-slow-test" | [TestSucceedKarateSlow] | [] // is executed only twice + "test-efd-faulty-session-threshold" | [TestParameterizedMoreCasesKarate] | [] + "test-efd-skip-new-test" | [TestSucceedKarateSkipEfd] | [] + } + + def "test quarantined #testcaseName"() { + givenQuarantinedTests(quarantined) + + runTests(tests, true) + + assertSpansData(testcaseName) + + where: + testcaseName | tests | quarantined + "test-quarantined-failed" | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + } + + def "test quarantined auto-retries #testcaseName"() { + givenQuarantinedTests(quarantined) + + givenFlakyRetryEnabled(true) + givenFlakyTests(retried) + + // every test retry fails, but the build status is successful + runTests(tests, true) + + assertSpansData(testcaseName) + + where: + testcaseName | tests | quarantined | retried + "test-quarantined-failed-atr" | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + } + + def "test quarantined early flakiness detection #testcaseName"() { + givenQuarantinedTests(quarantined) + + givenEarlyFlakinessDetectionEnabled(true) + givenKnownTests(known) + + // every test retry fails, but the build status is successful + runTests(tests, true) + + assertSpansData(testcaseName) + + where: + testcaseName | tests | quarantined | known + "test-quarantined-failed-known" | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + "test-quarantined-failed-efd" | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [] + } + + def "test disabled #testcaseName"() { + givenDisabledTests(disabled) + + runTests(tests, true) + + assertSpansData(testcaseName) + + where: + testcaseName | tests | disabled + "test-disabled-failed" | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + } + + def "test attempt to fix #testcaseName"() { + givenQuarantinedTests(quarantined) + givenDisabledTests(disabled) + givenAttemptToFixTests(attemptToFix) + + runTests(tests, success) + + assertSpansData(testcaseName) + + where: + testcaseName | success | tests | attemptToFix | quarantined | disabled + "test-attempt-to-fix-failed" | false | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [] | [] + "test-attempt-to-fix-succeeded" | true | [TestSucceedKarate] | [new TestFQN("[org/example/test_succeed] test succeed", "first scenario")] | [] | [] + "test-attempt-to-fix-quarantined-failed" | false | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [] + "test-attempt-to-fix-quarantined-succeeded" | true | [TestSucceedKarate] | [new TestFQN("[org/example/test_succeed] test succeed", "first scenario")] | [new TestFQN("[org/example/test_succeed] test succeed", "first scenario")] | [] + "test-attempt-to-fix-disabled-failed" | false | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] | [] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] + "test-attempt-to-fix-disabled-succeeded" | true | [TestSucceedKarate] | [new TestFQN("[org/example/test_succeed] test succeed", "first scenario")] | [] | [new TestFQN("[org/example/test_succeed] test succeed", "first scenario")] } private void runTests(List> tests, boolean expectSuccess = true) { diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Flaky.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Flaky.java new file mode 100644 index 00000000000..59b938aaf57 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Flaky.java @@ -0,0 +1,12 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class Flaky { + + private static int counter = 0; + + public static void flake() { + assertTrue(++counter >= 3); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Slow.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Slow.java new file mode 100644 index 00000000000..23a8bcd6d7e --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/Slow.java @@ -0,0 +1,12 @@ +package org.example; + +public class Slow { + + public static void stall() { + try { + Thread.sleep(1100); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedParameterizedKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedParameterizedKarate.java new file mode 100644 index 00000000000..026f47875ed --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedParameterizedKarate.java @@ -0,0 +1,17 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestFailedParameterizedKarate { + + @Test + public void test() { + Results results = + Runner.path("classpath:org/example/test_failed_parameterized.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedThenSucceedKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedThenSucceedKarate.java new file mode 100644 index 00000000000..9ce500bd482 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestFailedThenSucceedKarate.java @@ -0,0 +1,17 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestFailedThenSucceedKarate { + + @Test + public void test() { + Results results = + Runner.path("classpath:org/example/test_failed_then_succeed.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestParameterizedMoreCasesKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestParameterizedMoreCasesKarate.java new file mode 100644 index 00000000000..7a0a9af41a4 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestParameterizedMoreCasesKarate.java @@ -0,0 +1,17 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestParameterizedMoreCasesKarate { + + @Test + public void test() { + Results results = + Runner.path("classpath:org/example/test_parameterized_more_cases.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSkippedFeatureKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSkippedFeatureKarate.java new file mode 100644 index 00000000000..74d246bd98f --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSkippedFeatureKarate.java @@ -0,0 +1,19 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestSkippedFeatureKarate { + + @Test + void testParallel() { + Results results = + Runner.path("classpath:org/example/test_succeed.feature") + .systemProperty("karate.options", "--tags ~@foo") + .parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSkipEfd.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSkipEfd.java new file mode 100644 index 00000000000..c13e94725c9 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSkipEfd.java @@ -0,0 +1,17 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestSucceedKarateSkipEfd { + + @Test + public void test() { + Results results = + Runner.path("classpath:org/example/test_succeed_skip_efd.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSlow.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSlow.java new file mode 100644 index 00000000000..b5b41c94657 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedKarateSlow.java @@ -0,0 +1,16 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestSucceedKarateSlow { + + @Test + public void test() { + Results results = Runner.path("classpath:org/example/test_succeed_slow.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedOneCaseKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedOneCaseKarate.java new file mode 100644 index 00000000000..2158105d49e --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedOneCaseKarate.java @@ -0,0 +1,17 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestSucceedOneCaseKarate { + + @Test + public void test() { + Results results = + Runner.path("classpath:org/example/test_succeed_one_case.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedParallelKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedParallelKarate.java new file mode 100644 index 00000000000..f180ca3ba02 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestSucceedParallelKarate.java @@ -0,0 +1,16 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestSucceedParallelKarate { + + @Test + public void testSucceed() { + Results results = Runner.path("classpath:org/example/test_succeed.feature").parallel(4); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestUnskippableKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestUnskippableKarate.java new file mode 100644 index 00000000000..fd82915bc7b --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestUnskippableKarate.java @@ -0,0 +1,16 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestUnskippableKarate { + + @Test + public void test() { + Results results = Runner.path("classpath:org/example/test_unskippable.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestWithSetupKarate.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestWithSetupKarate.java new file mode 100644 index 00000000000..86a5d703884 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/TestWithSetupKarate.java @@ -0,0 +1,16 @@ +package org.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.intuit.karate.Results; +import com.intuit.karate.Runner; +import org.junit.jupiter.api.Test; + +public class TestWithSetupKarate { + + @Test + public void test() { + Results results = Runner.path("classpath:org/example/test_with_setup.feature").parallel(1); + assertEquals(0, results.getFailCount(), results.getErrorMessages()); + } +} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_parameterized.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_parameterized.feature new file mode 100644 index 00000000000..5728f8d7df2 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_parameterized.feature @@ -0,0 +1,13 @@ +Feature: test parameterized + + Scenario Outline: first scenario as an outline + (to prevent a particular bug from re-appearing) + + Given def p = + When def response = p + p + Then match response == value + + Examples: + | param | value | + | 'a' | aaa | + | 'b' | bb | diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_then_succeed.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_then_succeed.feature new file mode 100644 index 00000000000..31fe2d52422 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_failed_then_succeed.feature @@ -0,0 +1,4 @@ +Feature: test failed + + Scenario: flaky scenario + * Java.type('org.example.Flaky').flake() diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_parameterized_more_cases.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_parameterized_more_cases.feature new file mode 100644 index 00000000000..9ed0d225025 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_parameterized_more_cases.feature @@ -0,0 +1,14 @@ +Feature: test parameterized + + Scenario Outline: first scenario as an outline + (to prevent a particular bug from re-appearing) + + Given def p = + When def response = p + p + Then match response == value + + Examples: + | param | value | + | 'a' | aa | + | 'b' | bb | + | 'c' | cc | diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_one_case.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_one_case.feature new file mode 100644 index 00000000000..162d2af3b42 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_one_case.feature @@ -0,0 +1,6 @@ +@foo +Feature: test succeed + + @bar + Scenario: first scenario + * print 'first' diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_skip_efd.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_skip_efd.feature new file mode 100644 index 00000000000..1b2325b1880 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_skip_efd.feature @@ -0,0 +1,6 @@ +@foo +Feature: test succeed + + @datadog_efd_disable + Scenario: first scenario + * print 'first' diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_slow.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_slow.feature new file mode 100644 index 00000000000..1e32a10962e --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_succeed_slow.feature @@ -0,0 +1,6 @@ +@foo +Feature: test succeed + + @bar + Scenario: first scenario + * Java.type('org.example.Slow').stall() diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_unskippable.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_unskippable.feature new file mode 100644 index 00000000000..25142d2a161 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_unskippable.feature @@ -0,0 +1,10 @@ +@foo +Feature: test unskippable + + @bar + @datadog_itr_unskippable + Scenario: first scenario + * print 'first' + + Scenario: second scenario + * print 'second' diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_with_setup.feature b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_with_setup.feature new file mode 100644 index 00000000000..a2e7535b031 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/java/org/example/test_with_setup.feature @@ -0,0 +1,20 @@ +Feature: test with setup + + @setup + Scenario: setup scenario + * def data = + """ + [ + {foo: "bar"} + ] + """ + + Scenario Outline: first scenario + * print foo + Examples: + | karate.setup().data | + + Scenario Outline: second scenario + * print foo + Examples: + | karate.setupOnce().data | diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/events.ftl new file mode 100644 index 00000000000..16339cefc58 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-failed/events.ftl @@ -0,0 +1,244 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "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.AssertionError", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.attempt_to_fix_passed" : "false", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "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" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/events.ftl new file mode 100644 index 00000000000..92b7cb61f6a --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-disabled-succeeded/events.ftl @@ -0,0 +1,525 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 9, + "step.startLine" : 9 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed] test succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.attempt_to_fix_passed" : "true", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_test_disabled" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/events.ftl new file mode 100644 index 00000000000..8283cde93b2 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-failed/events.ftl @@ -0,0 +1,243 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "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.AssertionError", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.attempt_to_fix_passed" : "false", + "test.test_management.is_attempt_to_fix" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "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" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/events.ftl new file mode 100644 index 00000000000..a2e55ac59cc --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-failed/events.ftl @@ -0,0 +1,244 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "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.AssertionError", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.attempt_to_fix_passed" : "false", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "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" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/events.ftl new file mode 100644 index 00000000000..6ae123bab0a --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-quarantined-succeeded/events.ftl @@ -0,0 +1,525 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 9, + "step.startLine" : 9 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed] test succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.attempt_to_fix_passed" : "true", + "test.test_management.is_attempt_to_fix" : "true", + "test.test_management.is_quarantined" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/events.ftl new file mode 100644 index 00000000000..2854fab44a6 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-attempt-to-fix-succeeded/events.ftl @@ -0,0 +1,520 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 9, + "step.startLine" : 9 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed] test succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.is_attempt_to_fix" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "attempt_to_fix", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.test_management.attempt_to_fix_passed" : "true", + "test.test_management.is_attempt_to_fix" : "true", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_succeed] test succeed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/events.ftl new file mode 100644 index 00000000000..8ec4e8fa639 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-disabled-failed/events.ftl @@ -0,0 +1,213 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "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}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_2}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "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}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "skip", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.skip_reason" : "Flaky test is disabled by Datadog", + "test.status" : "skip", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_test_disabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_2}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "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_2} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_5}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/events.ftl new file mode 100644 index 00000000000..831f14555c6 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-faulty-session-threshold/events.ftl @@ -0,0 +1,926 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'c'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_7}, + "resource" : "Given p = 'c'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_7}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id_7} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_8}, + "start" : ${content_start_8}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_9}, + "start" : ${content_start_9}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_10}, + "start" : ${content_start_10}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_11}, + "start" : ${content_start_11}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_12}, + "start" : ${content_start_12}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_13}, + "start" : ${content_start_13}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_7}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_14}, + "start" : ${content_start_14}, + "trace_id" : ${content_trace_id_7} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_15}, + "start" : ${content_start_15}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_16}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_16}, + "start" : ${content_start_16}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_17}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_17}, + "start" : ${content_start_17}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_18}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_18}, + "start" : ${content_start_18}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_19}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_19}, + "start" : ${content_start_19}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_20}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_20}, + "start" : ${content_start_20}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_21}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_7}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_21}, + "start" : ${content_start_21}, + "trace_id" : ${content_trace_id_7} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_22}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_parameterized_more_cases] test parameterized", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_22}, + "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 +}, { + "content" : { + "duration" : ${content_duration_23}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_23}, + "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_24}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_24}, + "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 +}, { + "content" : { + "duration" : ${content_duration_25}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_25}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_26}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_26}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_27}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_27}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_28}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_28}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_29}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'c'\",\"value\":\"cc\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized_more_cases] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_8}, + "resource" : "[org/example/test_parameterized_more_cases] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_7}, + "start" : ${content_start_29}, + "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_7} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_30}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_30}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_31}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_10} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_31}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/events.ftl new file mode 100644 index 00000000000..e932f698ef1 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-parameterized-test/events.ftl @@ -0,0 +1,333 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_parameterized] test parameterized", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_10}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_11}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/events.ftl new file mode 100644 index 00000000000..9a7f0fe3d8c --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-known-test/events.ftl @@ -0,0 +1,170 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed_one_case] test succeed", + "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}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_2}, + "resource" : "[org/example/test_succeed_one_case] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "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}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_4}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/events.ftl new file mode 100644 index 00000000000..d9413043788 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-parameterized-test/events.ftl @@ -0,0 +1,809 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_7}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_8}, + "start" : ${content_start_8}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_9}, + "start" : ${content_start_9}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_10}, + "start" : ${content_start_10}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_11}, + "start" : ${content_start_11}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_12}, + "start" : ${content_start_12}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_13}, + "start" : ${content_start_13}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_14}, + "start" : ${content_start_14}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_15}, + "start" : ${content_start_15}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_16}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_16}, + "start" : ${content_start_16}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_17}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_17}, + "start" : ${content_start_17}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_18}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_18}, + "start" : ${content_start_18}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_19}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_parameterized] test parameterized", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_19}, + "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 +}, { + "content" : { + "duration" : ${content_duration_20}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_20}, + "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_21}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_21}, + "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 +}, { + "content" : { + "duration" : ${content_duration_22}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aa\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_22}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_23}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_23}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_24}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_24}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_25}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_25}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_26}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_26}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_27}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_27}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/events.ftl new file mode 100644 index 00000000000..648c137f7f9 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-slow-test/events.ftl @@ -0,0 +1,241 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* Java.type('org.example.Slow').stall()" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* Java.type('org.example.Slow').stall()", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* Java.type('org.example.Slow').stall()" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* Java.type('org.example.Slow').stall()", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_slow] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed_slow] test succeed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_slow] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed_slow] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_slow] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed_slow] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/events.ftl new file mode 100644 index 00000000000..c6f9d72364e --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-new-test/events.ftl @@ -0,0 +1,311 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed_one_case] test succeed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "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} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_succeed_one_case] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "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} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_succeed_one_case] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_6}, + "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 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_one_case] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_succeed_one_case] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_7}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "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} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_8}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_9}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/events.ftl new file mode 100644 index 00000000000..f80d4f4ad7d --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-efd-skip-new-test/events.ftl @@ -0,0 +1,171 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_skip_efd] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed_skip_efd] test succeed", + "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}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed_skip_efd] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"datadog_efd_disable\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_2}, + "resource" : "[org/example/test_succeed_skip_efd] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "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}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_4}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_5}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/events.ftl new file mode 100644 index 00000000000..250a3344bc2 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-failed-then-succeed/events.ftl @@ -0,0 +1,310 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* Java.type('org.example.Flaky').flake()" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* Java.type('org.example.Flaky').flake()", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* Java.type('org.example.Flaky').flake()" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* Java.type('org.example.Flaky').flake()", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* Java.type('org.example.Flaky').flake()" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* Java.type('org.example.Flaky').flake()", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed_then_succeed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed_then_succeed] test failed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "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} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "io.karatelabs.js.EngineException", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "flaky scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_then_succeed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_failed_then_succeed] test failed.flaky scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "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} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "io.karatelabs.js.EngineException", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "flaky scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_then_succeed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_failed_then_succeed] test failed.flaky scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_6}, + "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 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "flaky scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed_then_succeed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_4}, + "resource" : "[org/example/test_failed_then_succeed] test failed.flaky scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_7}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "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} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_8}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_9}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/events.ftl new file mode 100644 index 00000000000..45bf59aa899 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-itr-unskippable/events.ftl @@ -0,0 +1,249 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 10, + "step.startLine" : 10 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.itr.tests_skipping.enabled" : "true", + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_unskippable] test unskippable", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_unskippable] test unskippable", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "itr_correlation_id" : "itrCorrelationId", + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.itr.forced_run" : "true", + "test.itr.tests_skipping.enabled" : "true", + "test.itr.unskippable" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_unskippable] test unskippable", + "test.traits" : "{\"category\":[\"foo\",\"bar\",\"datadog_itr_unskippable\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_unskippable] test unskippable.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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, + "itr_correlation_id" : "itrCorrelationId", + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.itr.tests_skipping.enabled" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_unskippable] test unskippable", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_unskippable] test unskippable.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.itr.tests_skipping.enabled" : "true", + "test.itr.tests_skipping.type" : "test", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id}, + "test.itr.tests_skipping.count" : 0 + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.itr.tests_skipping.enabled" : "true", + "test.itr.tests_skipping.type" : "test", + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "test.itr.tests_skipping.count" : 0 + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/events.ftl new file mode 100644 index 00000000000..fbf1c1cb407 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-atr/events.ftl @@ -0,0 +1,533 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_3}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_4}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_5}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.has_failed_all_retries" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/events.ftl new file mode 100644 index 00000000000..2fb2cddf5e0 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-efd/events.ftl @@ -0,0 +1,533 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_3}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.has_failed_all_retries" : "true", + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.abort_reason" : "faulty", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/events.ftl new file mode 100644 index 00000000000..86a10f1782f --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed-known/events.ftl @@ -0,0 +1,381 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "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} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_5}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_6}, + "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_7}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_5}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_new" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.retry_reason" : "early_flake_detection", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_5}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_8}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_5}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_9}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_10}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.early_flake.enabled" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_11}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/events.ftl new file mode 100644 index 00000000000..cf475efcab6 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-quarantined-failed/events.ftl @@ -0,0 +1,240 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.test_management.is_quarantined" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.test_management.enabled" : "true", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/events.ftl new file mode 100644 index 00000000000..813d2d93780 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-failed/events.ftl @@ -0,0 +1,528 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 4, + "step.startLine" : 4 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* false" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "* false", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "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.AssertionError", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed] test failed", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "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 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_8}, + "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_9}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_9}, + "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 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_3}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_10}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_4}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_11}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_5}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_12}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_6}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.has_failed_all_retries" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed] test failed", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed] test failed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_13}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_14}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_15}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/events.ftl new file mode 100644 index 00000000000..ed370dbb34b --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-retry-parameterized/events.ftl @@ -0,0 +1,822 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'a'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Given p = 'a'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Given p = 'b'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Given p = 'b'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_6}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_7}, + "start" : ${content_start_7}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_8}, + "start" : ${content_start_8}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_9}, + "start" : ${content_start_9}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_10}, + "start" : ${content_start_10}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_11}, + "start" : ${content_start_11}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "Then response == value" + }, + "metrics" : { + "step.endLine" : 8, + "step.startLine" : 8 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "Then response == value", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_12}, + "start" : ${content_start_12}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_13}, + "start" : ${content_start_13}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_14}, + "start" : ${content_start_14}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_15}, + "start" : ${content_start_15}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_16}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_16}, + "start" : ${content_start_16}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_17}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_17}, + "start" : ${content_start_17}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_18}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "When response = p + p" + }, + "metrics" : { + "step.endLine" : 7, + "step.startLine" : 7 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_6}, + "resource" : "When response = p + p", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_18}, + "start" : ${content_start_18}, + "trace_id" : ${content_trace_id_6} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_19}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "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.AssertionError", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_failed_parameterized] test parameterized", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_19}, + "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 +}, { + "content" : { + "duration" : ${content_duration_20}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "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.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aaa\"}", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id}, + "start" : ${content_start_20}, + "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_21}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_3}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aaa\"}", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_21}, + "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 +}, { + "content" : { + "duration" : ${content_duration_22}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_4}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aaa\"}", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_22}, + "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_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_23}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_5}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aaa\"}", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "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} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_23}, + "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_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_24}, + "error" : 1, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_6}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.has_failed_all_retries" : "true", + "test.is_retry" : "true", + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'a'\",\"value\":\"aaa\"}", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_24}, + "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_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_25}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario as an outline", + "test.parameters" : "{\"param\":\"'b'\",\"value\":\"bb\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_failed_parameterized] test parameterized", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_7}, + "resource" : "[org/example/test_failed_parameterized] test parameterized.first scenario as an outline", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_id_6}, + "start" : ${content_start_25}, + "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_6} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_26}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_26}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_27}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_9} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_27}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/events.ftl new file mode 100644 index 00000000000..c2acf214162 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-skipped-feature/events.ftl @@ -0,0 +1,236 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 9, + "step.startLine" : 9 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed] test succeed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed] test succeed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/events.ftl new file mode 100644 index 00000000000..c2acf214162 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-succeed-parallel/events.ftl @@ -0,0 +1,236 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'first'" + }, + "metrics" : { + "step.endLine" : 6, + "step.startLine" : 6 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* 'first'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* 'second'" + }, + "metrics" : { + "step.endLine" : 9, + "step.startLine" : 9 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* 'second'", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_succeed] test succeed", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\",\"bar\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed] test succeed.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.status" : "pass", + "test.suite" : "[org/example/test_succeed] test succeed", + "test.traits" : "{\"category\":[\"foo\"]}", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_succeed] test succeed.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/coverages.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/coverages.ftl new file mode 100644 index 00000000000..8878e547a79 --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/coverages.ftl @@ -0,0 +1 @@ +[ ] \ No newline at end of file diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/events.ftl b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/events.ftl new file mode 100644 index 00000000000..18854759d1c --- /dev/null +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/resources/test-with-setup/events.ftl @@ -0,0 +1,235 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* foo" + }, + "metrics" : { + "step.endLine" : 13, + "step.startLine" : 13 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id}, + "resource" : "* foo", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "component" : "karate", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "step.name" : "* foo" + }, + "metrics" : { + "step.endLine" : 18, + "step.startLine" : 18 + }, + "name" : "karate.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "* foo", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_suite_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.suite" : "[org/example/test_with_setup] test with setup", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count} + }, + "name" : "karate.test_suite", + "resource" : "[org/example/test_with_setup] test with setup", + "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 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "first scenario", + "test.parameters" : "{\"foo\":\"bar\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_with_setup] test with setup", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_with_setup] test with setup.first scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test", + "test.final_status" : "pass", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.name" : "second scenario", + "test.parameters" : "{\"foo\":\"bar\"}", + "test.status" : "pass", + "test.suite" : "[org/example/test_with_setup] test with setup", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test", + "parent_id" : ${content_parent_id_3}, + "resource" : "[org/example/test_with_setup] test with setup.second scenario", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "span_id" : ${content_parent_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 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.profiling.ctx" : "test", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "runtime-id" : ${content_meta_runtime_id}, + "span.kind" : "test_session_end", + "test.command" : "karate-2.0", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "karate.test_session", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "component" : "karate", + "dummy_ci_tag" : "dummy_ci_tag_value", + "env" : "none", + "library_version" : ${content_meta_library_version}, + "span.kind" : "test_module_end", + "test.framework" : "karate", + "test.framework_version" : ${content_meta_test_framework_version}, + "test.module" : "karate-2.0", + "test.status" : "pass", + "test.type" : "test", + "test_session.name" : "session-name" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5} + }, + "name" : "karate.test_module", + "resource" : "karate-2.0", + "service" : "worker.org.gradle.process.internal.worker.gradleworkermain", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +} ] \ No newline at end of file From 969df18e0249332b863fe4faa27a6212d56e4eca Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Mon, 13 Jul 2026 15:43:11 +0200 Subject: [PATCH 2/2] chore: spotless --- .../karate2/KarateExecutionInstrumentation.java | 6 ++++-- .../karate/karate-2.0/src/test/groovy/KarateV2Test.groovy | 8 ++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java index 890a85ba1d8..8b88bf2476e 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/main/java/datadog/trace/instrumentation/karate2/KarateExecutionInstrumentation.java @@ -20,8 +20,10 @@ * Karate v2. * *
    - *
  • {@code ScenarioRuntime#call()} is advised to re-run the scenario while the execution policy is applicable, overriding the returned {@code ScenarioResult} with the final attempt. - *
  • {@code ScenarioResult#addStepResult(StepResult)} is advised to replace a failing step with a skipped one when the policy requests failure suppression. + *
  • {@code ScenarioRuntime#call()} is advised to re-run the scenario while the execution policy + * is applicable, overriding the returned {@code ScenarioResult} with the final attempt. + *
  • {@code ScenarioResult#addStepResult(StepResult)} is advised to replace a failing step with + * a skipped one when the policy requests failure suppression. *
* * Compiled for Java 8 (see {@link KarateInstrumentation}); the advice lives in the {@code java21} diff --git a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy index a295dd66deb..84d52bbf87f 100644 --- a/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy +++ b/dd-java-agent/instrumentation/karate/karate-2.0/src/test/groovy/KarateV2Test.groovy @@ -66,9 +66,7 @@ class KarateV2Test extends CiVisibilityInstrumentationTest { testcaseName | success | tests | retriedTests "test-failed" | false | [TestFailedKarate] | [] "test-retry-failed" | false | [TestFailedKarate] | [new TestFQN("[org/example/test_failed] test failed", "second scenario")] - "test-failed-then-succeed" | true | [TestFailedThenSucceedKarate] | [ - new TestFQN("[org/example/test_failed_then_succeed] test failed", "flaky scenario") - ] + "test-failed-then-succeed" | true | [TestFailedThenSucceedKarate] | [new TestFQN("[org/example/test_failed_then_succeed] test failed", "flaky scenario")] "test-retry-parameterized" | false | [TestFailedParameterizedKarate] | [ new TestFQN("[org/example/test_failed_parameterized] test parameterized", "first scenario as an outline") ] @@ -84,9 +82,7 @@ class KarateV2Test extends CiVisibilityInstrumentationTest { where: testcaseName | tests | knownTestsList - "test-efd-known-test" | [TestSucceedOneCaseKarate] | [ - new TestFQN("[org/example/test_succeed_one_case] test succeed", "first scenario") - ] + "test-efd-known-test" | [TestSucceedOneCaseKarate] | [new TestFQN("[org/example/test_succeed_one_case] test succeed", "first scenario")] "test-efd-known-parameterized-test" | [TestParameterizedKarate] | [ new TestFQN("[org/example/test_parameterized] test parameterized", "first scenario as an outline") ]