public async Task JaegerUdpBatcher_IntegrationTest() { var validJaegerThriftPayload = Convert.FromBase64String(TestPayloadBase64); var memoryTransport = new InMemoryTransport(); using var jaegerUdpBatcher = new JaegerUdpBatcher( new JaegerExporterOptions { MaxFlushInterval = TimeSpan.FromHours(1) }, memoryTransport); jaegerUdpBatcher.Process = TestProcess; await jaegerUdpBatcher.AppendAsync(CreateTestPayloadJaegerSpan(), CancellationToken.None).ConfigureAwait(false); await jaegerUdpBatcher.FlushAsync(CancellationToken.None).ConfigureAwait(false); Assert.Equal(Convert.ToBase64String(validJaegerThriftPayload), Convert.ToBase64String(memoryTransport.ToArray())); memoryTransport.Reset(); await jaegerUdpBatcher.AppendAsync(CreateTestPayloadJaegerSpan(), CancellationToken.None).ConfigureAwait(false); await jaegerUdpBatcher.FlushAsync(CancellationToken.None).ConfigureAwait(false); // SeqNo is the second byte. validJaegerThriftPayload[2]++; Assert.Equal(Convert.ToBase64String(validJaegerThriftPayload), Convert.ToBase64String(memoryTransport.ToArray())); }
public async Task JaegerExporter_Batching() { using var jaegerUdpBatcher = new JaegerUdpBatcher( new JaegerExporterOptions(), new BlackHoleTransport()); jaegerUdpBatcher.Process = new OpenTelemetry.Exporter.Jaeger.Process("TestService"); for (int i = 0; i < this.NumberOfBatches; i++) { for (int c = 0; c < this.NumberOfSpans; c++) { await jaegerUdpBatcher.AppendAsync(this.testActivity, CancellationToken.None).ConfigureAwait(false); } await jaegerUdpBatcher.FlushAsync(CancellationToken.None).ConfigureAwait(false); } }