Exemplo n.º 1
0
        public static IServiceCollection AddJnzTracer(this IServiceCollection services)
        {
            services.TryAddSingleton(serviceProvider =>
            {
                var loggerFactory  = serviceProvider.GetRequiredService <ILoggerFactory>();
                var configuration  = serviceProvider.GetRequiredService <IConfiguration>();
                var senderResolver = new Jaeger.Senders.SenderResolver(loggerFactory);

                Jaeger.Configuration.SenderConfiguration
                .DefaultSenderResolver = senderResolver.RegisterSenderFactory <ThriftSenderFactory>();

                var config = Jaeger.Configuration.FromIConfiguration(loggerFactory, configuration.GetSection("Jaeger"));

                var tracer = config.GetTracer();

                if (!GlobalTracer.IsRegistered())
                {
                    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.AddHttpClient();

            services.AddHttpTracingPropagation();

            services.AddSingleton(serviceProvider =>
            {
                var loggerFactory  = serviceProvider.GetRequiredService <ILoggerFactory>();
                var senderResolver = new Jaeger.Senders.SenderResolver(loggerFactory);

                Jaeger.Configuration.SenderConfiguration
                .DefaultSenderResolver = senderResolver.RegisterSenderFactory <ThriftSenderFactory>();

                var config = Jaeger.Configuration.FromIConfiguration(loggerFactory, Configuration);

                return(config.GetTracer());
            });
        }
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.AddHttpTracingPropagation();

            services.AddSingleton(serviceProvider =>
            {
                var loggerFactory  = serviceProvider.GetRequiredService <ILoggerFactory>();
                var senderResolver = new Jaeger.Senders.SenderResolver(loggerFactory);

                Jaeger.Configuration.SenderConfiguration
                .DefaultSenderResolver = senderResolver.RegisterSenderFactory <ThriftSenderFactory>();

                var config = Jaeger.Configuration.FromIConfiguration(loggerFactory, Configuration);

                return(config.GetTracer());
            });

            services.Configure <IncomingTraceOptions>(opt =>
            {
                opt.AddIgnoreUrl("/WeatherForecast/docs");
            });
        }