internal static JaegerSpan CreateTestJaegerSpan(
     bool setAttributes = true,
     Dictionary <string, object> additionalAttributes = null,
     bool addEvents    = true,
     bool addLinks     = true,
     Resource resource = null,
     SpanKind kind     = SpanKind.Client)
 {
     return(JaegerSpanConverterTest.CreateTestSpan(
                setAttributes, additionalAttributes, addEvents, addLinks, resource, kind).ToJaegerSpan());
 }
示例#2
0
        public async Task JaegerUdpBatcherTests_BuildBatchesToTransmit_MultipleBatches()
        {
            // Arrange
            var options = new JaegerExporterOptions {
                ServiceName = "TestService", MaxFlushInterval = TimeSpan.FromHours(1)
            };

            var jaegerUdpBatcher = new JaegerUdpBatcher(options);

            // Act
            await jaegerUdpBatcher.AppendAsync(JaegerSpanConverterTest.CreateTestSpan().ToJaegerSpan(), CancellationToken.None).ConfigureAwait(false);

            await jaegerUdpBatcher.AppendAsync(
                JaegerSpanConverterTest.CreateTestSpan(
                    additionalAttributes : new Dictionary <string, object>
            {
                ["peer.service"] = "MySQL",
            })
                .ToJaegerSpan(),
                CancellationToken.None).ConfigureAwait(false);

            await jaegerUdpBatcher.AppendAsync(JaegerSpanConverterTest.CreateTestSpan().ToJaegerSpan(), CancellationToken.None).ConfigureAwait(false);

            var batches = jaegerUdpBatcher.CurrentBatches.Values;

            // Assert
            Assert.Equal(2, batches.Count());

            var PrimaryBatch = batches.Where(b => b.Process.ServiceName == "TestService");

            Assert.Single(PrimaryBatch);
            Assert.Equal(2, PrimaryBatch.First().Spans.Count());

            var MySQLBatch = batches.Where(b => b.Process.ServiceName == "MySQL");

            Assert.Single(MySQLBatch);
            Assert.Single(MySQLBatch.First().Spans);
        }
        public async Task JaegerUdpBatcherTests_BuildBatchesToTransmit_DefaultBatch()
        {
            // Arrange
            var options = new JaegerExporterOptions {
                ServiceName = "TestService", MaxFlushInterval = TimeSpan.FromHours(1)
            };

            var jaegerUdpBatcher = new JaegerUdpBatcher(options);

            // Act
            await jaegerUdpBatcher.AppendAsync(JaegerSpanConverterTest.CreateTestSpan(), CancellationToken.None).ConfigureAwait(false);

            await jaegerUdpBatcher.AppendAsync(JaegerSpanConverterTest.CreateTestSpan(), CancellationToken.None).ConfigureAwait(false);

            await jaegerUdpBatcher.AppendAsync(JaegerSpanConverterTest.CreateTestSpan(), CancellationToken.None).ConfigureAwait(false);

            var batches = jaegerUdpBatcher.CurrentBatches.Values;

            // Assert
            Assert.Single(batches);
            Assert.Equal("TestService", batches.First().Process.ServiceName);
            Assert.Equal(3, batches.First().SpanMessages.Count());
        }