public void TestResolveWithDefaultConfigurationWithoutFactoriesReturnsNoopSender() { var senderResolver = new SenderResolver(_loggerFactory); var sender = senderResolver.Resolve(); Assert.IsType <NoopSender>(sender); }
public ConfigurationTests() { _loggerFactory = NullLoggerFactory.Instance; _flexibleSenderResolver = new SenderResolver(_loggerFactory) .RegisterSenderFactory(new FlexibleSenderFactory(FACTORY_NAME_TEST1)) .RegisterSenderFactory(new FlexibleSenderFactory(FACTORY_NAME_TEST2)); ClearProperties(); }
public SenderConfiguration(ILoggerFactory loggerFactory) { _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger <Configuration>(); if (DefaultSenderResolver == null) { DefaultSenderResolver = new SenderResolver(_loggerFactory); } }
public void TestResolveWithTest1SelectedWithoutFactoriesReturnsNoopSender() { var senderResolver = new SenderResolver(_loggerFactory); var configuration = new Configuration.SenderConfiguration(_loggerFactory) .WithSenderFactory(FACTORY_NAME_TEST1); var sender = senderResolver.Resolve(configuration); Assert.IsType <NoopSender>(sender); }
/// <summary> /// Returns a sender if one was given when creating the configuration, or attempts to create a sender based on the /// configuration's state. /// </summary> /// <returns>The sender passed via the constructor or a properly configured sender.</returns> public virtual ISender GetSender() { if (SenderResolver == null) { SenderResolver = DefaultSenderResolver; } if (Sender == null) { Sender = SenderResolver.Resolve(this); } return(Sender); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); // Use "OpenTracing.Contrib.NetCore" to automatically generate spans for ASP.NET Core, Entity Framework Core, ... // See https://github.com/opentracing-contrib/csharp-netcore for details. services.AddOpenTracing(); // Adds the Jaeger Tracer. services.AddSingleton <ITracer>(serviceProvider => { // string serviceName = serviceProvider.GetRequiredService<IWebHostEnvironment>().ApplicationName; // This will log to a default localhost installation of Jaeger. //var tracer = new Tracer.Builder(serviceName) // .WithSampler(new ConstSampler(true)) // .Build(); // var loggerFactory = new LoggerFactory(); // get Microsoft.Extensions.Logging ILoggerFactory // var serviceName = "testService"; //Jaeger.Configuration.SenderConfiguration.DefaultSenderResolver = new SenderResolver(loggerFactory) // .RegisterSenderFactory<ThriftSenderFactory>(); ////Configuration config = new Configuration(serviceName, loggerFactory) //// // .WithSampler(...) // optional, defaults to RemoteControlledSampler with HttpSamplingManager on localhost:5778 //// .WithReporter(Jaeger.Configuration.ReporterConfiguration.FromEnv(loggerFactory)); // optional, defaults to RemoteReporter with UdpSender on localhost:6831 when ThriftSenderFactory is registered //Configuration config = Jaeger.Configuration.FromEnv(loggerFactory); //ITracer tracer = config.GetTracer().wi; //// Allows code that can't use DI to also access the tracer. //GlobalTracer.Register(tracer); var senderResolver = new SenderResolver(loggerFactory).RegisterSenderFactory <ThriftSenderFactory>(); var senderConfiguration = new Configuration.SenderConfiguration(loggerFactory) .WithSenderResolver(senderResolver).WithEndpoint("http://192.168.1.34:14268/api/traces"); // optional, defaults to Configuration.SenderConfiguration.DefaultSenderResolver var reporterConfiguration = new Configuration.ReporterConfiguration(loggerFactory) .WithSender(senderConfiguration) // optional, defaults to UdpSender at localhost:6831 when ThriftSenderFactory is registered .WithLogSpans(true); // optional, defaults to no LoggingReporter var tracer = new Configuration("campaignUI", loggerFactory) .WithReporter(reporterConfiguration) // optional, defaults to RemoteReporter with UdpSender at localhost:6831 when ThriftSenderFactory is registered .GetTracer(); return(tracer); }); }
public void TestResolveWithTest2SelectedWithTest2FactoryReturnsFlexibleSender() { var configuration = new Configuration.SenderConfiguration(_loggerFactory) .WithSenderFactory(FACTORY_NAME_TEST2); var senderResolver = new SenderResolver(_loggerFactory) .RegisterSenderFactory(_test2SenderFactory); var sender = senderResolver.Resolve(configuration); Assert.IsType <FlexibleSenderFactory.Sender>(sender); var flexibleSender = (FlexibleSenderFactory.Sender)sender; Assert.Equal(FACTORY_NAME_TEST2, flexibleSender.FactoryName); Assert.Equal(configuration, flexibleSender.SenderConfiguration); }
public RemoteReporter Build() { if (_loggerFactory == null) { _loggerFactory = NullLoggerFactory.Instance; } if (_sender == null) { var senderResolver = new SenderResolver(_loggerFactory); _sender = senderResolver.Resolve(); } if (_metrics == null) { _metrics = new MetricsImpl(NoopMetricsFactory.Instance); } return(new RemoteReporter(_sender, _flushInterval, _maxQueueSize, _metrics, _loggerFactory)); }
public SenderConfiguration WithSenderResolver(SenderResolver senderResolver) { SenderResolver = senderResolver; return(this); }