apm-agent-dotnet icon indicating copy to clipboard operation
apm-agent-dotnet copied to clipboard

test: synchronizing gherkin spec

Open apmmachine opened this issue 2 years ago • 1 comments

What

APM agent specs automatic sync

Why

Changeset

  • https://github.com/elastic/apm/commit/4412a55 Span service target fields specification (https://github.com/elastic/apm/pull/627)

apmmachine avatar May 30 '22 08:05 apmmachine

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-10-18T13:42:09.637+0000

  • Duration: 75 min 48 sec

Test stats :test_tube:

Test Results
Failed 64
Passed 17464
Skipped 154
Total 17682

Test errors 64

Expand to view the tests failures

> Show only the first 10 test failures

Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "myQueue", messaging_Url: "", net_Peer_Ip: "", net_Peer_Name: "carrot-server", net_Peer_Port: "", resource: "rabbitmq/myQueue", target_Service_Name: "myQueue", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot-server/myQueue" has a length of 21, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot-server/myQueue" has a length of 21, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.1s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq      |
        | messaging.destination | myQueue       |
        | messaging.url         |               |
        | net.peer.ip           |               |
        | net.peer.name         | carrot-server |
        | net.peer.port         |               |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.2s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq/myQueue"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq/myQueue" with a length of 16, but
        "carrot-server/myQueue" has a length of 21, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is "myQueue"
        -> No matching step definition found for the step. Use the following code to create one:
        [Then(@"Elastic bridged span service target type is ""(.*)"" and name is ""(.*)""")]
        public void ThenElasticBridgedSpanServiceTargetTypeIsAndNameIs(string rabbitmq, string myQueue)
        {
        _scenarioContext.Pending();
        } 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "", messaging_Url: "amqp://carrot:4444/q1", net_Peer_Ip: "", net_Peer_Name: "", net_Peer_Port: "", resource: "rabbitmq", target_Service_Name: "", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot:4444" has a length of 11, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot:4444" has a length of 11, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq              |
        | messaging.destination |                       |
        | messaging.url         | amqp://carrot:4444/q1 |
        | net.peer.ip           |                       |
        | net.peer.name         |                       |
        | net.peer.port         |                       |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.1s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq" with a length of 8, but
        "carrot:4444" has a length of 11, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is ""
        -> error: Index and length must refer to a location within the string. (Parameter 'length') 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "myQueue", messaging_Url: "amqp://carrot:4444/q1", net_Peer_Ip: "", net_Peer_Name: "", net_Peer_Port: "", resource: "rabbitmq/myQueue", target_Service_Name: "myQueue", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot:4444/myQueue" has a length of 19, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot:4444/myQueue" has a length of 19, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq              |
        | messaging.destination | myQueue               |
        | messaging.url         | amqp://carrot:4444/q1 |
        | net.peer.ip           |                       |
        | net.peer.name         |                       |
        | net.peer.port         |                       |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq/myQueue"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq/myQueue" with a length of 16, but
        "carrot:4444/myQueue" has a length of 19, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is "myQueue"
        -> No matching step definition found for the step. Use the following code to create one:
        [Then(@"Elastic bridged span service target type is ""(.*)"" and name is ""(.*)""")]
        public void ThenElasticBridgedSpanServiceTargetTypeIsAndNameIs(string rabbitmq0, string myQueue1)
        {
        _scenarioContext.Pending();
        } 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "", messaging_Url: "", net_Peer_Ip: "", net_Peer_Name: "carrot-server", net_Peer_Port: "", resource: "rabbitmq", target_Service_Name: "", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot-server" has a length of 13, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot-server" has a length of 13, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq      |
        | messaging.destination |               |
        | messaging.url         |               |
        | net.peer.ip           |               |
        | net.peer.name         | carrot-server |
        | net.peer.port         |               |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq" with a length of 8, but
        "carrot-server" has a length of 13, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is ""
        -> error: Index and length must refer to a location within the string. (Parameter 'length') 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "myQueue", messaging_Url: "", net_Peer_Ip: "127.0.0.1", net_Peer_Name: "", net_Peer_Port: "", resource: "rabbitmq/myQueue", target_Service_Name: "myQueue", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "127.0.0.1/myQueue" has a length of 17, differs near "127" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "127.0.0.1/myQueue" has a length of 17, differs near "127" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq  |
        | messaging.destination | myQueue   |
        | messaging.url         |           |
        | net.peer.ip           | 127.0.0.1 |
        | net.peer.name         |           |
        | net.peer.port         |           |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq/myQueue"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq/myQueue" with a length of 16, but
        "127.0.0.1/myQueue" has a length of 17, differs near "127" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is "myQueue"
        -> No matching step definition found for the step. Use the following code to create one:
        [Then(@"Elastic bridged span service target type is ""(.*)"" and name is ""(.*)""")]
        public void ThenElasticBridgedSpanServiceTargetTypeIsAndNameIs(string rabbitmq0, string myQueue1)
        {
        _scenarioContext.Pending();
        } 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "", messaging_Url: "", net_Peer_Ip: "127.0.0.1", net_Peer_Name: "", net_Peer_Port: "", resource: "rabbitmq", target_Service_Name: "", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "127.0.0.1" has a length of 9, differs near "127" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "127.0.0.1" has a length of 9, differs near "127" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq  |
        | messaging.destination |           |
        | messaging.url         |           |
        | net.peer.ip           | 127.0.0.1 |
        | net.peer.name         |           |
        | net.peer.port         |           |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq" with a length of 8, but
        "127.0.0.1" has a length of 9, differs near "127" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is ""
        -> error: Index and length must refer to a location within the string. (Parameter 'length') 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "", messaging_Url: "", net_Peer_Ip: "127.0.0.1", net_Peer_Name: "carrot-server", net_Peer_Port: "7777", resource: "rabbitmq", target_Service_Name: "", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot-server:7777" has a length of 18, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq" with a length of 8, but 
    "carrot-server:7777" has a length of 18, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq      |
        | messaging.destination |               |
        | messaging.url         |               |
        | net.peer.ip           | 127.0.0.1     |
        | net.peer.name         | carrot-server |
        | net.peer.port         | 7777          |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq" with a length of 8, but
        "carrot-server:7777" has a length of 18, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is ""
        -> error: Index and length must refer to a location within the string. (Parameter 'length') 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.Messaging producer [ <messaging.system> <messaging.destination> <messaging.url> <net.peer.ip> <net.peer.name> <net.peer.port>](messaging_System: "rabbitmq", messaging_Destination: "myQueue", messaging_Url: "", net_Peer_Ip: "127.0.0.1", net_Peer_Name: "carrot-server", net_Peer_Port: "7777", resource: "rabbitmq/myQueue", target_Service_Name: "myQueue", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot-server:7777/myQueue" has a length of 26, differs near "car" (index 0). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rabbitmq/myQueue" with a length of 16, but 
    "carrot-server:7777/myQueue" has a length of 26, differs near "car" (index 0).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.MessagingProducerMessaging_SystemMessaging_DestinationMessaging_UrlNet_Peer_IpNet_Peer_NameNet_Peer_Port(String messaging_System, String messaging_Destination, String messaging_Url, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 199
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'PRODUCER'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("PRODUCER") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | messaging.system      | rabbitmq      |
        | messaging.destination | myQueue       |
        | messaging.url         |               |
        | net.peer.ip           | 127.0.0.1     |
        | net.peer.name         | carrot-server |
        | net.peer.port         | 7777          |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'messaging'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("messaging") (0.0s)
        Then Elastic bridged span subtype is "rabbitmq"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("rabbitmq") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rabbitmq/myQueue"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rabbitmq/myQueue" with a length of 16, but
        "carrot-server:7777/myQueue" has a length of 26, differs near "car" (index 0).
        Then Elastic bridged span service target type is "rabbitmq" and name is "myQueue"
        -> No matching step definition found for the step. Use the following code to create one:
        [Then(@"Elastic bridged span service target type is ""(.*)"" and name is ""(.*)""")]
        public void ThenElasticBridgedSpanServiceTargetTypeIsAndNameIs(string rabbitmq0, string myQueue1)
        {
        _scenarioContext.Pending();
        } 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.RPC client [ <rpc.system> <rpc.service> <net.peer.ip> <net.peer.name> <net.peer.port>](rpc_System: "grpc", rpc_Service: "", net_Peer_Ip: "", net_Peer_Name: "", net_Peer_Port: "", resource: "grpc", target_Service_Name: "", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     System.ArgumentOutOfRangeException : Index and length must refer to a location within the string. (Parameter 'length') 
    
    Expand to view the stacktrace

     System.ArgumentOutOfRangeException : Index and length must refer to a location within the string. (Parameter 'length')
    Stack Trace:
       at System.String.Substring(Int32 startIndex, Int32 length)
       at TechTalk.SpecFlow.BindingSkeletons.StepTextAnalyzer.Analyze(String stepText, CultureInfo bindingCulture)
       at TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider.Analyze(StepInstance stepInstance, CultureInfo bindingCulture)
       at TechTalk.SpecFlow.BindingSkeletons.StepDefinitionSkeletonProvider.GetStepDefinitionSkeleton(ProgrammingLanguage language, StepInstance stepInstance, StepDefinitionSkeletonStyle style, CultureInfo bindingCulture)
       at TechTalk.SpecFlow.Tracing.TestTracer.TraceNoMatchingStepDefinition(StepInstance stepInstance, ProgrammingLanguage targetLanguage, CultureInfo bindingCulture, List`1 matchesWithoutScopeCheck)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetStepMatch(StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.RPCClientRpc_SystemRpc_ServiceNet_Peer_IpNet_Peer_NameNet_Peer_Port(String rpc_System, String rpc_Service, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 228
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'CLIENT'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("CLIENT") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | rpc.system    | grpc |
        | rpc.service   |      |
        | net.peer.ip   |      |
        | net.peer.name |      |
        | net.peer.port |      |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'external'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("external") (0.0s)
        Then Elastic bridged span subtype is "grpc"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("grpc") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "grpc"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo("grpc") (0.0s)
        Then Elastic bridged span service target type is "grpc" and name is ""
        -> error: Index and length must refer to a location within the string. (Parameter 'length') 
    
Initializing / Parallel / Linux / Test / OpenTelemetryBridgeFeature.RPC client [ <rpc.system> <rpc.service> <net.peer.ip> <net.peer.name> <net.peer.port>](rpc_System: "grpc", rpc_Service: "myService", net_Peer_Ip: "127.0.0.1", net_Peer_Name: "rpc-server", net_Peer_Port: "", resource: "rpc-server", target_Service_Name: "rpc-server", exampleTags: []) – Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature
    Expand to view the error details

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rpc-server" with a length of 10, but 
    "rpc-server/myService" has a length of 20, differs near "/my" (index 10). 
    
    Expand to view the stacktrace

     Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be 
    "rpc-server" with a length of 10, but 
    "rpc-server/myService" has a length of 20, differs near "/my" (index 10).
    Stack Trace:
       at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
       at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
       at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
       at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
       at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
       at FluentAssertions.Primitives.StringValidator.Validate()
       at FluentAssertions.Primitives.StringAssertions.Be(String expected, String because, Object[] becauseArgs)
       at Elastic.Apm.Feature.Tests.OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanDestinationResourceIsSetTo(String p0) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/OpenTelemetryBridgeStepDefinitions.cs:line 271
       at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
       at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep()
       at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.ScenarioCleanup()
       at Elastic.Apm.Feature.Tests.Features.OpenTelemetryBridgeFeature.RPCClientRpc_SystemRpc_ServiceNet_Peer_IpNet_Peer_NameNet_Peer_Port(String rpc_System, String rpc_Service, String net_Peer_Ip, String net_Peer_Name, String net_Peer_Port, String resource, String target_Service_Name, String[] exampleTags) in /var/lib/jenkins/workspace/net_apm-agent-dotnet-mbp_PR-1718/apm-agent-dotnet/test/Elastic.Apm.Feature.Tests/Features/otel_bridge.feature:line 228
    Standard Output:
        Given an agent
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnAgent() (0.0s)
        And an active transaction
        -> done: OpenTelemetryBridgeStepDefinitions.GivenAnActiveTransaction() (0.0s)
        And OTel span is created with kind 'CLIENT'
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanIsCreatedWithKind("CLIENT") (0.0s)
        And OTel span has following attributes
        --- table step argument ---
        | rpc.system    | grpc       |
        | rpc.service   | myService  |
        | net.peer.ip   | 127.0.0.1  |
        | net.peer.name | rpc-server |
        | net.peer.port |            |
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanHasFollowingAttributes(<table>) (0.0s)
        And OTel span ends
        -> done: OpenTelemetryBridgeStepDefinitions.GivenOTelSpanEnds() (0.0s)
        Then Elastic bridged span type is 'external'
        -> done: OpenTelemetryBridgeStepDefinitions.ElasticBridgedSpanTypeIsExternal("external") (0.0s)
        Then Elastic bridged span subtype is "grpc"
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanSubtypeIs("grpc") (0.0s)
        Then Elastic bridged span OTel attributes are copied as-is
        -> done: OpenTelemetryBridgeStepDefinitions.ThenElasticBridgedSpanOTelAttributesAreCopiedAs_Is() (0.0s)
        Then Elastic bridged span destination resource is set to "rpc-server"
        -> error: Expected (payloadSender.FirstSpan as Span).Context.Destination.Service.Resource to be
        "rpc-server" with a length of 10, but
        "rpc-server/myService" has a length of 20, differs near "/my" (index 10).
        Then Elastic bridged span service target type is "grpc" and name is "rpc-server"
        -> No matching step definition found for the step. Use the following code to create one:
        [Then(@"Elastic bridged span service target type is ""(.*)"" and name is ""(.*)""")]
        public void ThenElasticBridgedSpanServiceTargetTypeIsAndNameIs(string grpc0, string p1)
        {
        _scenarioContext.Pending();
        } 
    

Steps errors 3

Expand to view the steps failures

Test & coverage
  • Took 30 min 23 sec . View more details here
  • Description: .ci/windows/test.bat
Archive the artifacts
  • Took 0 min 0 sec . View more details here
  • Description: [2022-10-18T14:37:07.720Z] Archiving artifacts withAzureCredentials: error hudson.AbortException: s
Error signal
  • Took 0 min 0 sec . View more details here
  • Description: withAzureCredentials: error hudson.AbortException: script returned exit code 1

:robot: GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • run benchmark tests : Run the benchmark test.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

apmmachine avatar May 30 '22 09:05 apmmachine

Closing this PR as it was superseded by #1752. FYI @gregkalapos

z1c0 avatar Nov 02 '22 19:11 z1c0