/// <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); }
/// <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); }