public static IServiceCollection ConfigureJaeger(this IServiceCollection services, IConfiguration config) { services.AddMvc(options => { options.Filters.AddService <TracingActionFilter>(); }); services.AddScoped <TracingActionFilter>(); services.AddSingleton(serviceProvider => { string serviceName = "IBank-Person"; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder().WithLoggerFactory(loggerFactory).WithSender(new UdpSender(config.GetValue <string>("JaegerHost"), 6831, 0)).Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithReporter(reporter) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); return(services); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(Environment.GetEnvironmentVariable("JAEGERUI") != null ? Environment.GetEnvironmentVariable("JAEGERUI") : "jaegerui", 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddOpenTracing(); services.AddOptions(); services.AddSingleton <IOrderBDC, OrderBDC.Classes.OrderBDC>(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddTransient <IOrderDetails, SqlOrderDetails>(); var url = Environment.GetEnvironmentVariable("UserServiceUrl"); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var jeagerurl = Environment.GetEnvironmentVariable("JaegerURL") ?? ""; var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender("127.0.0.1", 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddHttpClient(); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Customers API", Version = "v1" }); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender("jagerservice", 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddDbContext <UserDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("UserDBConnection"))); services.AddScoped <IUserManager, UserManager>(); services.AddScoped <IUserDal, UserDal>(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder().WithLoggerFactory(loggerFactory) .WithSender(new UdpSender("jaeger-agent", 6831, 0)).Build(); ITracer tracer = new Tracer.Builder(serviceName).WithLoggerFactory(loggerFactory). WithSampler(sampler).WithReporter(reporter).Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddOpenTracing(); // Adds the Jaeger Tracer. services.AddSingleton <ITracer>(serviceProvider => { string serviceName = serviceProvider.GetRequiredService <IHostingEnvironment>().ApplicationName; var loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); var sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) // optional, defaults to no logging //.WithMaxQueueSize(...) // optional, defaults to 100 //.WithFlushInterval(...) // optional, defaults to TimeSpan.FromSeconds(1) .WithSender(new UdpSender("192.168.1.172", 6831, 0)) // optional, defaults to UdpSender("localhost", 6831, 0) .Build(); // This will log to a default localhost installation of Jaeger. var tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); }
public App() { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <ILoggerFactory, LoggerFactory>(); serviceCollection.AddSingleton <ITracer>(s => { var sampler = new ConstSampler(true); var tracer = new Tracer.Builder("wpf tracing") .WithLoggerFactory(s.GetRequiredService <ILoggerFactory>()) .WithSampler(sampler) .WithTag("agent", "wpf") .Build(); GlobalTracer.Register(tracer); return(tracer); }); serviceCollection.AddSingleton <ITracingService>(s => OpenTracingServiceCollectionExtensions.AddOpenTracing( s.GetRequiredService <ITracer>(), s.GetRequiredService <ILoggerFactory>(), openTracingBuilder => openTracingBuilder.ConfigureHttpClientHandler(options => options.OperationNameResolver = httpRequest => $"{httpRequest.Method.Method}-{httpRequest.RequestUri.AbsoluteUri}") .ConfigureDesktopHttpClientHandler(options => options.OperationNameResolver = webRequest => $"{webRequest.Method}-{webRequest.RequestUri.AbsoluteUri}") ) ); ServiceProvider = serviceCollection.BuildServiceProvider(); }
private static void Main(string[] args) { //Reference https://github.com/jaegertracing/jaeger-client-csharp var loggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); }); const string serviceName = "initExampleService"; var reporter = new LoggingReporter(loggerFactory); var sampler = new ConstSampler(true); var tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithReporter(reporter) .WithSampler(sampler) .Build(); const string operationName = "Get::api/values"; var spanBuilder = tracer.BuildSpan(operationName); using (var scope = spanBuilder.StartActive(true)) { var logData = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("handling number of events", 6), new KeyValuePair <string, object>("using legacy system", false) }; scope.Span.Log(DateTimeOffset.Now, logData); } Console.ReadLine(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // configure DI for application services services.AddScoped <IUserBusiness, UserBusinessLogic>(); services.AddTransient(_ => new NagpContext(Configuration["ConnectionStrings:DefaultConnection"])); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender("jaeger-agent", 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); Jaeger.Configuration.SenderConfiguration.DefaultSenderResolver = new SenderResolver(loggerFactory) .RegisterSenderFactory <ThriftSenderFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddSingleton <OrderManager>(new InMemoryOrderManager()); services.AddControllers(); services.AddHealthChecks(); services.AddSwaggerGen(); }
private void RegisterServices(ServiceCollection services) { services.AddSingleton <MethodFinderService>(); services.AddSingleton <ILoggerFactory, NullLoggerFactory>(); services.AddSingleton(serviceProvider => { #if NET string serviceName = System.Web.Hosting.HostingEnvironment.SiteName ?? Assembly.GetEntryAssembly()?.GetName().Name ?? "Unknown"; #else string serviceName = Assembly.GetEntryAssembly()?.GetName().Name ?? "Unknown"; #endif ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); }
public void ConfigureServices(IServiceCollection services) { ConfigureConsul(services); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); var connString = Configuration["ConnectionStrings:Default"]; services.AddDbContext <GenericDbContext>(o => o.UseSqlServer(connString)); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddScoped <IcustomersRepository, CustomersRepository>(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { string JAEGER_SERVICE_NAME = Environment.GetEnvironmentVariable("JAEGER_SERVICE_NAME"); string JAEGER_AGENT_PORT = Environment.GetEnvironmentVariable("JAEGER_AGENT_PORT"); string JAEGER_AGENT_HOST = Environment.GetEnvironmentVariable("JAEGER_AGENT_HOST"); services.AddOpenTracing(); var sender = new Jaeger.Senders.Thrift.UdpSender( JAEGER_AGENT_HOST, int.Parse(JAEGER_AGENT_PORT), 0 ); var remoteReporter = new RemoteReporter.Builder() .WithSender(sender) .Build(); var sampler = new ConstSampler(true); var tracer = new Jaeger.Tracer.Builder(JAEGER_SERVICE_NAME) .WithReporter(remoteReporter) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); services.AddHttpClient(); services.AddControllers(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddScoped <IAggregatorService, AggregatorService>(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = serviceProvider.GetRequiredService <IWebHostEnvironment>().ApplicationName; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); string jaegerHost = Configuration.GetValue <string>("Values:jaeger-host"); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(jaegerHost, 6831, 0)) // todo: .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddDbContext <UserDBContext>( options => options.UseSqlServer(Configuration.GetConnectionString("UserDBContext"))); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); Jaeger.Configuration.SenderConfiguration.DefaultSenderResolver = new SenderResolver(loggerFactory) .RegisterSenderFactory <ThriftSenderFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddHttpClient <UsersAPIClient>((client) => client.BaseAddress = new Uri(Configuration["UsersAPIUri"] + "api/")); services.AddHttpClient <OrdersAPIClient>((client) => client.BaseAddress = new Uri(Configuration["OrdersAPIUri"] + "api/")); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "OrderDetailsAPI", Version = "v1" }); }); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddHttpClient(); services.AddScoped <IFetchOrderDetailService, FetchOrderDetailService>(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(Configuration.GetValue <string>("JaegerService:Host"), 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
public void ConfigureServices(IServiceCollection services) { services.AddHttpClient(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); Environment.SetEnvironmentVariable("JAEGER", "localhost"); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(String.IsNullOrEmpty(Environment.GetEnvironmentVariable("JAEGER")) ? "" : Environment.GetEnvironmentVariable("JAEGER"), 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.Add(new ServiceDescriptor(typeof(dbcontext), new dbcontext(Configuration.GetConnectionString("DefaultConnection")))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddHttpClient(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender("jaeger-agent.default.svc.cluster.local", 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddTransient <IOrderService, OrderService>(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var data = Environment.GetEnvironmentVariable("Jagger_Endpoint"); var endpoint = data == null ? "jaggerservice" : data; var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(endpoint, 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); Jaeger.Configuration.SenderConfiguration.DefaultSenderResolver = new SenderResolver(loggerFactory) .RegisterSenderFactory <ThriftSenderFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); services.AddControllers(); services.AddDbContext <UsersDbContext>(options => options.UseMySQL(Configuration.GetConnectionString("UsersDB"))); services.AddScoped <UnitOfWork>(); services.AddHealthChecks(); services.AddSwaggerGen(); }
public static IServiceCollection AddJaeger(this IServiceCollection services) { if (services == null) { throw new ArgumentNullException(nameof(services)); } services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); return(services); }
public static IServiceCollection AddJaeger(this IServiceCollection services) { if (services == null) { throw new ArgumentNullException(nameof(services)); } services.AddSingleton <ITracer>(serviceProvider => { var serviceName = Assembly.GetEntryAssembly().GetName().Name; var loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); var sampler = new ConstSampler(sample: true); var tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); // Prevent endless loops when OpenTracing is tracking HTTP requests to Jaeger. services.Configure <HttpHandlerDiagnosticOptions>(options => { options.IgnorePatterns.Add(request => _jaegerUri.IsBaseOf(request.RequestUri)); }); return(services); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddDbContext <UserDBContext>(options => options .UseMySQL(Configuration.GetConnectionString("DefaultConnection"))); services.AddTransient <IUserData, UserDataAccess>(); // Adds the Jaeger Tracer. services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var jeagerurl = "jaeger-agent"; var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(jeagerurl, 6831, 0)) .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); //Adds Jaegar Service services.AddOpenTracing(); }
public static IServiceCollection ConfigurationJaeger(this IServiceCollection services) { services.AddMvc(options => { options.Filters.AddService <TracingActionFilter>(); }); services.AddScoped <TracingActionFilter>(); services.AddSingleton(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); var reporter = new RemoteReporter.Builder().WithLoggerFactory(loggerFactory).WithSender(new UdpSender("jaeger_easy", 6831, 0)).Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithReporter(reporter) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); return(services); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddDbContext <ApplicationDBContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddScoped(typeof(IDbIntializer), typeof(DBInitializer)); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = serviceProvider.GetRequiredService <IWebHostEnvironment>().ApplicationName; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); string jaegerHost = Configuration.GetValue <string>("Values:jaeger-host"); var reporter = new RemoteReporter.Builder() .WithLoggerFactory(loggerFactory) .WithSender(new UdpSender(jaegerHost, 6831, 0)) // todo: .Build(); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddDiscoveryClient(Configuration); services.AddHttpClient <AggregatorController>(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddSingleton <ITracer>(serviceProvider => { string serviceName = Assembly.GetEntryAssembly().GetName().Name; ILoggerFactory loggerFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); var senderConfig = new SenderConfiguration(loggerFactory) .WithAgentHost("jaeger-agent") .WithAgentPort(5778) .WithEndpoint("http://collector:14268/api/traces"); var reporter = new RemoteReporter.Builder().WithLoggerFactory(loggerFactory).WithSender(senderConfig.GetSender()).Build(); ISampler sampler = new ConstSampler(sample: true); ITracer tracer = new Tracer.Builder(serviceName) .WithLoggerFactory(loggerFactory) .WithReporter(reporter) .WithSampler(sampler) .Build(); GlobalTracer.Register(tracer); return(tracer); }); services.AddOpenTracing(); }