コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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");
        }