public void JaegerTraceExporter_BuildBatchesToTransmit_MultipleBatches() { // Arrange using var jaegerExporter = new JaegerExporter(new JaegerExporterOptions { ServiceName = "TestService" }); jaegerExporter.ApplyLibraryResource(Resource.Empty); // Act jaegerExporter.AppendSpan(CreateTestJaegerSpan()); jaegerExporter.AppendSpan( CreateTestJaegerSpan( additionalAttributes: new Dictionary <string, object> { ["peer.service"] = "MySQL", })); jaegerExporter.AppendSpan(CreateTestJaegerSpan()); var batches = jaegerExporter.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().Count); var mySQLBatch = batches.Where(b => b.Process.ServiceName == "MySQL"); Assert.Single(mySQLBatch); Assert.Equal(1, mySQLBatch.First().Count); }
public void JaegerTraceExporter_ApplyLibraryResource_UpdatesServiceName() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; process.ServiceName = "TestService"; jaegerTraceExporter.ApplyLibraryResource(Resource.Empty); Assert.Equal("TestService", process.ServiceName); jaegerTraceExporter.ApplyLibraryResource(Resources.Resources.CreateServiceResource("MyService")); Assert.Equal("MyService", process.ServiceName); jaegerTraceExporter.ApplyLibraryResource(Resources.Resources.CreateServiceResource("MyService", serviceNamespace: "MyNamespace")); Assert.Equal("MyNamespace.MyService", process.ServiceName); }
public void JaegerTraceExporter_ApplyLibraryResource_IgnoreLibraryResources() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; jaegerTraceExporter.ApplyLibraryResource(new Resource(new Dictionary <string, object> { [Resource.LibraryNameKey] = "libname", [Resource.LibraryVersionKey] = "libversion", })); Assert.Null(process.Tags); }
public void JaegerTraceExporter_ApplyLibraryResource_CreatesTags() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; jaegerTraceExporter.ApplyLibraryResource(new Resource(new Dictionary <string, object> { ["Tag"] = "value", })); Assert.NotNull(process.Tags); Assert.Single(process.Tags); Assert.Equal("value", process.Tags["Tag"].VStr); }
public void JaegerTraceExporter_BuildBatchesToTransmit_FlushedBatch() { // Arrange using var jaegerExporter = new JaegerExporter(new JaegerExporterOptions { ServiceName = "TestService", MaxPayloadSizeInBytes = 1500 }); jaegerExporter.ApplyLibraryResource(Resource.Empty); // Act jaegerExporter.AppendSpan(CreateTestJaegerSpan()); jaegerExporter.AppendSpan(CreateTestJaegerSpan()); jaegerExporter.AppendSpan(CreateTestJaegerSpan()); var batches = jaegerExporter.CurrentBatches.Values; // Assert Assert.Single(batches); Assert.Equal("TestService", batches.First().Process.ServiceName); Assert.Equal(1, batches.First().Count); }
public void JaegerTraceExporter_ApplyLibraryResource_CombinesTags() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; process.Tags = new Dictionary <string, JaegerTag> { ["Tag1"] = new KeyValuePair <string, object>("Tag1", "value1").ToJaegerTag() }; jaegerTraceExporter.ApplyLibraryResource(new Resource(new Dictionary <string, object> { ["Tag2"] = "value2", })); Assert.NotNull(process.Tags); Assert.Equal(2, process.Tags.Count); Assert.Equal("value1", process.Tags["Tag1"].VStr); Assert.Equal("value2", process.Tags["Tag2"].VStr); }