public void JaegerTraceExporter_BuildBatchesToTransmit_MultipleBatches() { // Arrange using var jaegerExporter = new JaegerExporter(new JaegerExporterOptions()); jaegerExporter.SetResource(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 == DefaultServiceName); 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_SetResource_UpdatesServiceName() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; process.ServiceName = "TestService"; jaegerTraceExporter.SetResource(Resource.Empty); Assert.Equal("TestService", process.ServiceName); jaegerTraceExporter.SetResource(ResourceBuilder.CreateEmpty().AddService("MyService").Build()); Assert.Equal("MyService", process.ServiceName); jaegerTraceExporter.SetResource(ResourceBuilder.CreateEmpty().AddService("MyService", "MyNamespace").Build()); Assert.Equal("MyNamespace.MyService", process.ServiceName); }
public void JaegerTraceExporter_SetResource_IgnoreServiceResources() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; jaegerTraceExporter.SetResource(ResourceBuilder.CreateEmpty().AddAttributes(new Dictionary <string, object> { [ResourceSemanticConventions.AttributeServiceName] = "servicename", [ResourceSemanticConventions.AttributeServiceNamespace] = "servicenamespace", }).Build()); Assert.Null(process.Tags); }
public void JaegerTraceExporter_SetResource_IgnoreServiceResources() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; jaegerTraceExporter.SetResource(new Resource(new Dictionary <string, object> { [Resource.ServiceNameKey] = "servicename", [Resource.ServiceNamespaceKey] = "servicenamespace", })); Assert.Null(process.Tags); }
public void JaegerTraceExporter_SetResource_CreatesTags() { using var jaegerTraceExporter = new JaegerExporter(new JaegerExporterOptions()); var process = jaegerTraceExporter.Process; jaegerTraceExporter.SetResource(ResourceBuilder.CreateEmpty().AddAttributes(new Dictionary <string, object> { ["Tag"] = "value", }).Build()); 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 { MaxPayloadSizeInBytes = 1500 }); jaegerExporter.SetResource(Resource.Empty); // Act jaegerExporter.AppendSpan(CreateTestJaegerSpan()); jaegerExporter.AppendSpan(CreateTestJaegerSpan()); jaegerExporter.AppendSpan(CreateTestJaegerSpan()); var batches = jaegerExporter.CurrentBatches.Values; // Assert Assert.Single(batches); Assert.Equal(DefaultServiceName, batches.First().Process.ServiceName); Assert.Equal(1, batches.First().Count); }
public void JaegerTraceExporter_BuildBatchesToTransmit_DefaultBatch() { // Arrange using var jaegerExporter = new JaegerExporter(new JaegerExporterOptions { ServiceName = "TestService" }); jaegerExporter.SetResource(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(3, batches.First().Count); }
public void JaegerTraceExporter_SetResource_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.SetResource(ResourceBuilder.CreateEmpty().AddAttributes(new Dictionary <string, object> { ["Tag2"] = "value2", }).Build()); Assert.NotNull(process.Tags); Assert.Equal(2, process.Tags.Count); Assert.Equal("value1", process.Tags["Tag1"].VStr); Assert.Equal("value2", process.Tags["Tag2"].VStr); }