/// <summary> /// Start listening for elasticsearch <see cref="DiagnosticSource"/> events /// </summary> public IDisposable Subscribe(IApmAgent agentComponents) { var composite = new CompositeDisposable(); if (!agentComponents.ConfigurationReader.Enabled) { return(composite); } var subscriber = new DiagnosticInitializer(agentComponents.Logger, new IDiagnosticListener[] { new AuditDiagnosticsListener(agentComponents), new RequestPipelineDiagnosticsListener(agentComponents), new HttpConnectionDiagnosticsListener(agentComponents), new SerializerDiagnosticsListener(agentComponents), }); composite.Add(subscriber); composite.Add(DiagnosticListener .AllListeners .Subscribe(subscriber)); return(composite); }
/// <summary> /// Subscribes diagnostic source events. /// </summary> public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); var initializer = new DiagnosticInitializer(agent, new IDiagnosticListener[] { new AzureBlobStorageDiagnosticListener(agent), new AzureCoreDiagnosticListener(agent) }); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); if (agent is ApmAgent realAgent) { realAgent.HttpTraceConfiguration.AddTracer(new MicrosoftAzureBlobStorageTracer()); if (!realAgent.HttpTraceConfiguration.Subscribed) { retVal.Add(realAgent.Subscribe(new HttpDiagnosticsSubscriber(false))); } } return(retVal); }
/// <inheritdoc /> public IDisposable Subscribe(IApmAgent agentComponents) { var retVal = new CompositeDisposable(); if (!agentComponents.ConfigurationReader.Enabled) { return(retVal); } if (PlatformDetection.IsDotNetCore || PlatformDetection.IsDotNet) { var initializer = new DiagnosticInitializer(agentComponents, new SqlClientDiagnosticListener(agentComponents)); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); } else { retVal.Add(new SqlEventListener(agentComponents)); } return(retVal); }
public Startup(IConfiguration configuration) { Configuration = configuration; //MiniProfiler.EntityFrameworkCore var initializer = new DiagnosticInitializer(new[] { new RelationalDiagnosticListener() }); initializer.Start(); }
/// <summary> /// Adds Esquio profiling for MiniProfiler via DiagnosticListener. /// </summary> /// <typeparam name="T">The specific options type to chain with.</typeparam> /// <param name="options">The <see cref="MiniProfilerBaseOptions" /> to register on (just for chaining).</param> /// <exception cref="ArgumentNullException"><paramref name="options"/> is <c>null</c>.</exception> public static T AddEsquio <T>(this T options) where T : MiniProfilerBaseOptions { var initializer = new DiagnosticInitializer(new[] { new EsquioDiagnosticListener() }); initializer.Start(); return(options); }
/// <summary> /// Adds middleware for profiling HTTP requests. /// </summary> /// <param name="builder">The <see cref="IApplicationBuilder"/> instance this method extends.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="builder"/> is null.</exception> public static IApplicationBuilder UseMiniProfiler(this IApplicationBuilder builder) { _ = builder ?? throw new ArgumentNullException(nameof(builder)); // Register all IMiniProfilerDiagnosticListeners that were registered, e.g. EntityFramework var listeners = builder.ApplicationServices.GetServices <IMiniProfilerDiagnosticListener>(); var initializer = new DiagnosticInitializer(listeners); initializer.Start(); return(builder.UseMiddleware <MiniProfilerMiddleware>()); }
/// <summary> /// Start listening for EF Core diagnosticsource events /// </summary> public IDisposable Subscribe(IApmAgent agentComponents) { var retVal = new CompositeDisposable(); var subscriber = new DiagnosticInitializer(agentComponents.Logger, new[] { new EfCoreDiagnosticListener(agentComponents) }); retVal.Add(subscriber); retVal.Add(DiagnosticListener .AllListeners .Subscribe(subscriber)); return(retVal); }
public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); var subscriber = new DiagnosticInitializer(agent.Logger, new[] { new AspNetCoreDiagnosticListener(agent as ApmAgent), }); retVal.Add(subscriber); retVal.Add(System.Diagnostics.DiagnosticListener .AllListeners .Subscribe(subscriber)); return(retVal); }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); var retVal = new CompositeDisposable(); var initializer = new DiagnosticInitializer(new[] { new HttpDiagnosticListenerImplBase <HttpWebRequest, HttpWebResponse>() }); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); }
public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); var initializer = new DiagnosticInitializer(agent, new TestListener(agent)); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); return(retVal); }
/// <summary> /// Subscribes diagnostic source events. /// </summary> public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); var initializer = new DiagnosticInitializer(agent.Logger, new AzureMessagingServiceBusDiagnosticListener(agent)); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); return(retVal); }
/// <summary> /// Subscribes diagnostic source events. /// </summary> public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); var initializer = new DiagnosticInitializer(agent.Logger, new[] { new AzureQueueStorageDiagnosticListener(agent) }); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); return(retVal); }
/// <summary> /// Start listening for EF Core <see cref="DiagnosticSource"/> events /// </summary> public IDisposable Subscribe(IApmAgent agentComponents) { var retVal = new CompositeDisposable(); if (!agentComponents.ConfigurationReader.Enabled) { return(retVal); } var subscriber = new DiagnosticInitializer(agentComponents, new EfCoreDiagnosticListener(agentComponents)); retVal.Add(subscriber); retVal.Add(DiagnosticListener .AllListeners .Subscribe(subscriber)); return(retVal); }
/// <summary> /// Starts listening for mongoDB driver diagnostic source events /// </summary> public IDisposable Subscribe(IApmAgent components) { var retVal = new CompositeDisposable(); if (!components.ConfigurationReader.Enabled) { return(retVal); } var initializer = new DiagnosticInitializer(components, new MongoDiagnosticListener(components)); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); return(retVal); }
public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); if (!agent.ConfigurationReader.Enabled) { return(retVal); } var subscriber = new DiagnosticInitializer(agent.Logger, new AspNetCoreDiagnosticListener(agent as ApmAgent)); retVal.Add(subscriber); retVal.Add(System.Diagnostics.DiagnosticListener .AllListeners .Subscribe(subscriber)); return(retVal); }
public IDisposable Subscribe(IApmAgent agent) { var retVal = new CompositeDisposable(); if (!agent.ConfigurationReader.Enabled) { return(retVal); } Listener = new GrpcClientDiagnosticListener(agent as ApmAgent); var subscriber = new DiagnosticInitializer(agent.Logger, Listener); retVal.Add(subscriber); retVal.Add(DiagnosticListener .AllListeners .Subscribe(subscriber)); return(retVal); }
public IDisposable Subscribe(IApmAgent agentComponents) { var retVal = new CompositeDisposable(); if (PlatformDetection.IsDotNetCore) { var initializer = new DiagnosticInitializer(agentComponents.Logger, new[] { new SqlClientDiagnosticListener(agentComponents) }); retVal.Add(initializer); retVal.Add(DiagnosticListener .AllListeners .Subscribe(initializer)); } else { retVal.Add(new SqlEventListener(agentComponents)); } return(retVal); }
public IDisposable Subscribe(IApmAgent agent) { agent.Logger.Debug()?.Log($"{nameof(AspNetCoreDiagnosticSubscriber)} starting to subscribe"); var retVal = new CompositeDisposable(); if (!agent.ConfigurationReader.Enabled) { return(retVal); } var subscriber = new DiagnosticInitializer(agent, new AspNetCoreDiagnosticListener(agent as ApmAgent)); retVal.Add(subscriber); retVal.Add(System.Diagnostics.DiagnosticListener .AllListeners .Subscribe(subscriber)); agent.Logger.Debug()?.Log($"{nameof(AspNetCoreDiagnosticSubscriber)} subscribed"); return(retVal); }