Пример #1
0
 public static TracerBuilder UseEventSource(this TracerBuilder builder, EventSourceCollectorOption option)
 {
     builder.AddAdapter(tracer =>
     {
         var collector = new EventSourceAdapter(tracer, option.ConvertFunc, option.IsEnableFunc);
         foreach (var(ev, evoption) in option.Events)
         {
             collector.Add(ev, evoption);
         }
         return(collector);
     });
     return(builder);
 }
 static void Main(string[] args)
 {
     var host = new HostBuilder()
                .ConfigureServices(services =>
     {
         services.AddOpenTelemetry(builder =>
         {
             builder.UseEventSource(EventSourceCollectorOption.Create()
                                    .SetIsEnableFunc((src) =>
             {
                 if (!src.Name.StartsWith("System.Threading"))
                 {
                     Console.WriteLine($"{src.Name} enabled");
                     return(true, new EventEnableOption());
                 }
                 else
                 {
                     Console.WriteLine($"{src.Name} ignored");
                     return(false, default);