public void ContextFactoryNull() { var config = new AspNetCoreCorrelationConfiguration() .WithContextFactory(null); Assert.Throws <ArgumentNullException>(() => ContextTracingInstrumentation.Enable(config)); }
public ProfilerFixture() { Injector = new InjectorMock(); Notifier = new RequestNotifier(); var profilerConfig = new ProfilerCorrelationConfiguration() .WithContextInjectors(new[] { Injector }) .WithOutgoingRequestNotifier(Notifier); ContextTracingInstrumentation.Enable(profilerConfig); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddLogging(); services.AddSingleton(serviceProvider => { var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger <LoggingHandler>(); return(CorrelationHttpClientBuilder.CreateClient(new LoggingHandler(logger))); }); services.AddSingleton(ContextTracingInstrumentation.Enable(Configuration.GetSection("Correlation"))); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { loggerFactory.AddDebug(); var config = new AspNetCoreCorrelationConfiguration(Configuration.GetSection("Correlation")) { RequestNotifier = new OutgoingRequestNotifier() }; var instrumentation = ContextTracingInstrumentation.Enable(config); applicationLifetime.ApplicationStopped.Register(() => instrumentation?.Dispose()); app.UseMiddleware <IncomingRequestMiddleware>(); app.UseMvc(); }
public async Task SuccessFlowNotifier() { var notifier = new RequestNotifier(); var config = new AspNetCoreCorrelationConfiguration().WithOutgoingRequestNotifier(notifier); ContextTracingInstrumentation.Enable(config); var correlationId = Guid.NewGuid().ToString(); ContextResolver.SetRequestContext(new CorrelationContext(correlationId)); var client = new HttpClient(); await client.GetAsync("http://google.com"); Assert.True(notifier.BeforeWasCalled); Assert.True(notifier.AfterWasCalled); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); var config = new AspNetCoreCorrelationConfiguration { RequestNotifier = new OutgoingRequestNotifier() }; var instrumentation = ContextTracingInstrumentation.Enable(config); applicationLifetime.ApplicationStopped.Register(() => { instrumentation?.Dispose(); }); app.UseApplicationInsightsRequestTelemetry(); app.UseApplicationInsightsExceptionTelemetry(); app.UseMvc(); }
public async Task SuccessFlowCustomInjector() { var injector = new InjectorMock(); var config = new AspNetCoreCorrelationConfiguration() .WithContextInjectors(new[] { injector }); ContextTracingInstrumentation.Enable(config); var correlationId = Guid.NewGuid().ToString(); ContextResolver.SetRequestContext(new CorrelationContext(correlationId)); var client = new HttpClient(); await client.GetAsync("http://bing.com"); Assert.True(injector.WasCalled); }
public async Task SuccessFlowCustomInjectorBlockedEndpoint() { var injector = new InjectorMock(); var validator = new EndpointValidator(); validator.AddEndpoint("google.com"); var config = new AspNetCoreCorrelationConfiguration() .WithEndpointValidator(validator); ContextTracingInstrumentation.Enable(config); var correlationId = Guid.NewGuid().ToString(); ContextResolver.SetRequestContext(new CorrelationContext(correlationId)); var client = new HttpClient(); await client.GetAsync("http://google.com"); Assert.False(injector.WasCalled); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { loggerFactory.WithFilter(new FilterLoggerSettings { // {"Microsoft", LogLevel.Warning}, // {"System", LogLevel.Warning} }) .AddDebug() .AddElasicSearch(); var configuration = new AspNetCoreCorrelationConfiguration(Configuration.GetSection("Correlation")) { RequestNotifier = new OutgoingRequestNotifier(loggerFactory.CreateLogger <OutgoingRequestNotifier>()) }; var instrumentation = ContextTracingInstrumentation.Enable(configuration); var incomingRequestsHandler = registerIncomingRequestHandler(loggerFactory); applicationLifetime.ApplicationStopped.Register(() => { instrumentation?.Dispose(); incomingRequestsHandler?.Dispose(); }); app.UseMvc(); }
public void ContextInjectorNull() { var profilerConfig = new Configuration <CorrelationContext, WebRequest, WebResponse>(); Assert.Throws <ArgumentNullException>(() => ContextTracingInstrumentation.Enable(profilerConfig)); }
public void ContextInjectorNull() { var config = new AspNetCoreConfiguration <CorrelationContext>(); Assert.Throws <ArgumentNullException>(() => ContextTracingInstrumentation.Enable(config)); }
public void ConfigurationNull() { Assert.Throws <ArgumentNullException>(() => ContextTracingInstrumentation.Enable(null)); }