diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 6abc9d3d0b..a499f47f4e 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -38,7 +38,8 @@ the agent will now include the database name in the dependency, thus `mysql/my-d [float] ===== Bug fixes -* Fix missing attributes in bridged OTel transactions {pull}2657[#2657] +* Fix missing attributes in bridged OTel transactions - {pull}2657[#2657] +* Fix `transaction.result` with bridged OTel transactions - {pull}2660[#2660] [[release-notes-1.x]] === Java Agent version 1.x diff --git a/apm-agent-core/src/test/resources/specs/otel_bridge.feature b/apm-agent-core/src/test/resources/specs/otel_bridge.feature index f19d8b9f77..901d93154e 100644 --- a/apm-agent-core/src/test/resources/specs/otel_bridge.feature +++ b/apm-agent-core/src/test/resources/specs/otel_bridge.feature @@ -70,6 +70,7 @@ Feature: OpenTelemetry bridge And OTel span ends Then Elastic bridged object is a transaction Then Elastic bridged transaction outcome is "" + Then Elastic bridged transaction result is not set Examples: | status | outcome | | unset | unknown | diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/sdk/OTelSpan.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/sdk/OTelSpan.java index b664ea2143..1e5206ff27 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/sdk/OTelSpan.java +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/sdk/OTelSpan.java @@ -88,17 +88,6 @@ public Span addEvent(String name, Attributes attributes, long timestamp, TimeUni @Override public Span setStatus(StatusCode statusCode, String description) { - if (span instanceof Transaction) { - Transaction t = (Transaction) span; - switch (statusCode) { - case OK: - t.withResultIfUnset("OK"); - break; - case ERROR: - t.withResultIfUnset("Error"); - break; - } - } switch (statusCode) { case ERROR: span.withUserOutcome(Outcome.FAILURE); diff --git a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/specs/OTelBridgeStepsDefinitions.java b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/specs/OTelBridgeStepsDefinitions.java index 0abf5923b9..2a43d35e30 100644 --- a/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/specs/OTelBridgeStepsDefinitions.java +++ b/apm-agent-plugins/apm-opentelemetry/apm-opentelemetry-plugin/src/test/java/specs/OTelBridgeStepsDefinitions.java @@ -308,6 +308,11 @@ public void bridgedObjectOutcome(String ignoredContextType, String outcome) { } + @Then("Elastic bridged transaction result is not set") + public void bridgedTransactionResultNull() { + assertThat(getBridgedTransaction().getResult()).isNull(); + } + @Then("Elastic bridged span service target type is {string} and name is {string}") public void bridgedSpanTargetServiceType(String type, String name) { ServiceTarget serviceTarget = getBridgedSpan().getContext().getServiceTarget();