public static SkyWalkingBuilder AddHosting(this SkyWalkingBuilder builder) { builder.Services.AddSingleton <IHostedService, SkyWalkingHostedService>(); builder.Services.AddSingleton <ITracingDiagnosticProcessor, HostingDiagnosticProcessor>(); builder.Services.AddSingleton <ILoggerFactory, LoggerFactoryAdapter>(); return(builder); }
public static SkyWalkingBuilder AddEntityFrameworkCore(this SkyWalkingBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddSingleton <ITracingDiagnosticProcessor, EntityFrameworkCoreDiagnosticProcessor>(); return(builder); }
public static SkyWalkingBuilder AddHttpClient(this SkyWalkingBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddSingleton <ITracingDiagnosticProcessor, HttpClientDiagnosticProcessor>(); return(builder); }
private static SkyWalkingBuilder AddSkyWalkingCore(this IServiceCollection services) { if (services == null) { throw new ArgumentNullException(nameof(services)); } var builder = new SkyWalkingBuilder(services); builder.AddHosting().AddDiagnostics().AddHttpClient(); return(builder); }
public static SkyWalkingBuilder AddEntityFrameworkCore(this SkyWalkingBuilder builder, Action <DatabaseProviderBuilder> optionAction) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddSingleton <ITracingDiagnosticProcessor, EntityFrameworkCoreDiagnosticProcessor>(); builder.Services.AddSingleton <IEfCoreSpanFactory, EfCoreSpanFactory>(); if (optionAction != null) { var databaseProviderBuilder = new DatabaseProviderBuilder(builder.Services); optionAction(databaseProviderBuilder); } return(builder); }
public static SkyWalkingBuilder AddDiagnostics(this SkyWalkingBuilder builder) { builder.Services.AddSingleton <TracingDiagnosticProcessorObserver>(); return(builder); }
public static SkyWalkingBuilder AddHttpClientFactory(this SkyWalkingBuilder builder) { builder.Services.AddHttpClient <TracingHttpClient>(); builder.Services.AddTransient <HttpMessageHandlerBuilder, TracingHttpMessageHandlerBuilder>(); return(builder); }