Exemple #1
0
            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));
            }
Exemple #2
0
        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);
        }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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();
        }
Exemple #6
0
 public Builder WithPropagationRegistry(IPropagationRegistry propagationRegistry)
 {
     this._propagationRegistry = propagationRegistry;
     return(this);
 }