static DataService() { var sender = new ZipkinHttpSender("http://localhost:9411"); var reporter = new ZipkinReporter(sender); var reporters = new[] { reporter }; Sampler = new RateSampler(1f); Dispatcher = new AsyncActionBlockDispatcher(reporters); SpanContextAccessor = new SystemWebHttpContextSpanContextAccessor(); }
public async Task ReportAsync_Success() { var mockSender = new Mock <ISender>(); mockSender .Setup(s => s.SendSpansAsync(It.IsAny <IEnumerable <Span> >())) .Returns(Task.CompletedTask); var span = _fixture.Create <Span>(); var reporter = new ZipkinReporter(mockSender.Object); await reporter.ReportAsync(span); mockSender.Verify( s => s.SendSpansAsync( It.Is <IEnumerable <Span> >(l => l.First() == span)), Times.Once); }
private static void AddZipkinServices(IServiceCollection services) { // Register Zipkin server reporter. // This reporter sends completed spans to a Zipkin // server's HTTP collector (POST api/v2/spans). services.AddSingleton <IReporter>(provider => { var sender = new ZipkinHttpSender("http://localhost:9411"); var reporter = new ZipkinReporter(sender); return(reporter); }); // Register .NET Core ILogger span reporter. // This reporter logs completed spans using the .NET Core ILogger. services.AddSingleton <IReporter, LoggerReporter>(); // Register default tracing dependencies. services.AddTracing("example-api", 1f); }