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);
        }
Exemplo n.º 2
0
        // 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>();
        }
Exemplo n.º 3
0
        // 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();
        }
Exemplo n.º 5
0
        // 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();
        }
Exemplo n.º 7
0
        // 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();
        }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        // 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();
        }
Exemplo n.º 11
0
        // 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();
        }
Exemplo n.º 12
0
        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);
            });
        }
Exemplo n.º 13
0
        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();
        }
Exemplo n.º 15
0
        // 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();
        }
Exemplo n.º 16
0
        // 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();
        }
Exemplo n.º 17
0
        // 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();
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
        // 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);
        }
Exemplo n.º 21
0
        // 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);
        }
Exemplo n.º 22
0
        // 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();
        }
Exemplo n.º 23
0
        // 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();
        }
Exemplo n.º 24
0
        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);
        }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        // 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);
        }
Exemplo n.º 28
0
        // 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();
        }
Exemplo n.º 29
0
        // 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();
        }
Exemplo n.º 30
0
        // 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();
        }