Example #1
0
        /// <summary>
        /// 添加Jaeger链路追踪,实例对象ITracer
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="action"></param>
        /// <param name="openTracingBuilder"></param>
        /// <returns></returns>
        public static IFlashTractingBuilder AddJaeger(this IFlashTractingBuilder builder, Action <TracingConfiguration> action, Action <IOpenTracingBuilder> openTracingBuilder = null)
        {
            var config = new TracingConfiguration()
            {
                Open = false
            };

            action = action ?? throw new ArgumentNullException(nameof(action));
            action(config);

            builder.Services.AddTransient <TracingConfiguration>(sp =>
            {
                return(config);
            });
            AddJaeger(builder.Services, openTracingBuilder);
            return(builder);
        }
Example #2
0
 /// <summary>
 /// 添加Jaeger链路追踪,实例对象ITracer
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="configurationSection"></param>
 /// <param name="openTracingBuilder"></param>
 /// <returns></returns>
 public static IFlashTractingBuilder AddJaeger(this IFlashTractingBuilder builder, IConfigurationSection configurationSection, Action <IOpenTracingBuilder> openTracingBuilder = null)
 {
     builder.Services.AddTransient <TracingConfiguration>(sp =>
     {
         var config = configurationSection.Get <TracingConfiguration>();
         if (config == null)
         {
             config = new TracingConfiguration()
             {
                 Open = false
             };
         }
         return(config);
     });
     AddJaeger(builder.Services, openTracingBuilder);
     return(builder);
 }