public Tracer Build() { if (_loggerFactory == null) { _loggerFactory = NullLoggerFactory.Instance; } if (_metrics == null) { _metrics = NoopMetricsFactory.Instance.CreateMetrics(); } if (_reporter == null) { if (_transport == null) { if (_loggerFactory == NullLoggerFactory.Instance) { // TODO: Technically, it would be fine to get rid of NullReporter since the NullLogger does the same. // Check the performance penalty between using LoggingReporter with NullReporter compared to NullReporter! _reporter = new NullReporter(); } else { _reporter = new LoggingReporter(_loggerFactory); } } else { _reporter = new RemoteReporter.Builder(_transport) .WithLoggerFactory(_loggerFactory) .WithMetrics(_metrics) .Build(); } } if (_sampler == null) { if (_samplingManager == null) { _sampler = new ConstSampler(true); } else { _sampler = new RemoteControlledSampler.Builder(_serviceName, _samplingManager) .WithLoggerFactory(_loggerFactory) .WithMetrics(_metrics) .Build(); } } if (_scopeManager == null) { _scopeManager = new AsyncLocalScopeManager(); } if (_propagationRegistry == null) { _propagationRegistry = Propagators.TextMap; } return(new Tracer(_serviceName, _initialTags, _scopeManager, _loggerFactory, _propagationRegistry, _sampler, _reporter, _metrics)); }
public TextMapPropagationRegistryTests() { _propagationRegistry = Propagators.TextMap; _baggage = new Dictionary <string, string> { { "key1", "value1/val" }, { "key2", "value2/val" } }; _spanContext = Substitute.For <IJaegerCoreSpanContext>(); _format = Substitute.For <IFormat <ITextMap> >(); _spanContext.GetBaggageItems().Returns(_baggage); }
public TracerBuilderTests() { _mockReporter = Substitute.For <IReporter>(); _serviceName = "testingService"; _mockSampler = Substitute.For <ISampler>(); _mockScopeManager = Substitute.For <IScopeManager>(); _mockPropagationRegistry = Substitute.For <IPropagationRegistry>(); _mockMetrics = Substitute.For <IMetrics>(); _mockTransport = Substitute.For <ITransport>(); _baseBuilder = new Tracer.Builder(_serviceName); }
private Tracer(string serviceName, Dictionary <string, object> tags, IScopeManager scopeManager, ILoggerFactory loggerFactory, IPropagationRegistry propagationRegistry, ISampler sampler, IReporter reporter, IMetrics metrics) { ServiceName = serviceName; Tags = tags; ScopeManager = scopeManager; PropagationRegistry = propagationRegistry; Sampler = sampler; Reporter = reporter; Metrics = metrics; Clock = new Clock(); _logger = loggerFactory.CreateLogger <Tracer>(); if (tags.TryGetValue(Constants.TracerIpTagKey, out object field)) { HostIPv4 = field.ToString(); } }
public TracerTests() { _mockReporter = Substitute.For <IReporter>(); _operationName = "GET::api/values/"; _serviceName = "testingService"; _mockSampler = Substitute.For <ISampler>(); _mockScopeManager = Substitute.For <IScopeManager>(); _mockInjector = Substitute.For <IInjector>(); _mockExtractor = Substitute.For <IExtractor>(); _format = new Builtin <string>("format"); _propagationRegistry = new PropagationRegistry(); _propagationRegistry.AddCodec(_format, _mockInjector, _mockExtractor); _ip = "192.168.1.1"; _builtTracer = new Tracer.Builder(_serviceName) .WithReporter(_mockReporter) .WithSampler(_mockSampler) .WithScopeManager(_mockScopeManager) .WithPropagationRegistry(_propagationRegistry) .WithTag(Constants.TracerIpTagKey, _ip) .Build(); }
public Builder WithPropagationRegistry(IPropagationRegistry propagationRegistry) { this._propagationRegistry = propagationRegistry; return(this); }