public void TestOtelFieldsWith1Span() { var payloadSender = new MockPayloadSender(); using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, apmServerInfo: MockApmServerInfo.Version716, configuration: new MockConfiguration(enableOpenTelemetryBridge: "true")))) OTSamples.OneSpanWithAttributes(); payloadSender.FirstTransaction.Name.Should().Be("foo"); payloadSender.FirstTransaction.Otel.Should().NotBeNull(); payloadSender.FirstTransaction.Otel.SpanKind.Should().Be("Server"); payloadSender.FirstTransaction.Otel.Attributes.Should().NotBeNull(); payloadSender.FirstTransaction.Otel.Attributes.Should().Contain("foo", "bar"); }
public void MixApisTest3() { var payloadSender = new MockPayloadSender(); using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, apmServerInfo: MockApmServerInfo.Version716, configuration: new MockConfiguration(enableOpenTelemetryBridge: "true")))) OTSamples.Sample4(agent.Tracer); payloadSender.FirstTransaction.Name.Should().Be("Sample4"); payloadSender.Spans.Should().HaveCount(2); payloadSender.FirstSpan.Name.Should().Be("ElasticApmSpan"); payloadSender.Spans.ElementAt(1).Name.Should().Be("foo"); payloadSender.Spans.ElementAt(1).ParentId.Should().Be(payloadSender.FirstTransaction.Id); payloadSender.FirstSpan.ParentId.Should().Be(payloadSender.Spans.ElementAt(1).Id); AssertOnTraceIds(payloadSender); }
public void DisableOTelBridgeTest() { var payloadSender = new MockPayloadSender(); using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, apmServerInfo: MockApmServerInfo.Version716, configuration: new MockConfiguration(enableOpenTelemetryBridge: "false")))) OTSamples.Sample1(); payloadSender.WaitForTransactions(TimeSpan.FromSeconds(5)); payloadSender.Transactions.Should().BeNullOrEmpty(); }
public void SpanLinkTest() { var payloadSender = new MockPayloadSender(); using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, apmServerInfo: MockApmServerInfo.Version716, configuration: new MockConfiguration(enableOpenTelemetryBridge: "true")))) OTSamples.SpanLinkSample(); payloadSender.WaitForTransactions(count: 3); (payloadSender.Transactions[2] as Transaction) !.Links.Should().NotBeNullOrEmpty(); (payloadSender.Transactions[2] as Transaction) !.Links.ElementAt(0).SpanId.Should().Be(payloadSender.Transactions[0].Id); }
public void SpanKindTests() { var payloadSender = new MockPayloadSender(); using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, apmServerInfo: MockApmServerInfo.Version716, configuration: new MockConfiguration(enableOpenTelemetryBridge: "true")))) OTSamples.SpanKindSample(); payloadSender.FirstSpan.Type.Should().Be(ApiConstants.TypeExternal); payloadSender.FirstSpan.Subtype.Should().Be(ApiConstants.SubtypeHttp); payloadSender.Spans.ElementAt(1).Type.Should().Be(ApiConstants.TypeDb); payloadSender.Spans.ElementAt(1).Subtype.Should().Be("mysql"); payloadSender.Spans.ElementAt(2).Type.Should().Be(ApiConstants.TypeExternal); payloadSender.Spans.ElementAt(2).Subtype.Should().Be("grpc"); payloadSender.Spans.ElementAt(3).Type.Should().Be(ApiConstants.TypeMessaging); payloadSender.Spans.ElementAt(3).Subtype.Should().Be("rabbitmq"); }