/// <summary> /// Initializes a new instance of the <see cref="HttpWebRequestCollector"/> class. /// </summary> /// <param name="tracer">Tracer to record traced with.</param> /// <param name="options">Configuration options for HttpWebRequest collector.</param> public HttpWebRequestCollector(Tracer tracer, HttpClientCollectorOptions options) { #if NET461 GC.KeepAlive(System.Diagnostics.HttpHandlerDiagnosticListener.s_instance); this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpDesktopDiagnosticListener(tracer, options), options.EventFilter); this.diagnosticSourceSubscriber.Subscribe(); #endif }
/// <summary> /// Initializes a new instance of the <see cref="HttpWebRequestCollector"/> class. /// </summary> /// <param name="tracer">Tracer to record traced with.</param> /// <param name="options">Configuration options for HttpWebRequest collector.</param> public HttpWebRequestCollector(Tracer tracer, HttpClientCollectorOptions options) { #if NET461 GC.KeepAlive(HttpWebRequestDiagnosticSource.Instance); this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpWebRequestDiagnosticListener(tracer, options), options.EventFilter); this.diagnosticSourceSubscriber.Subscribe(); #endif }
public DependenciesCollector(HttpClientCollectorOptions options, ITracerFactory tracerFactory) { var assemblyVersion = typeof(DependenciesCollector).Assembly.GetName().Version; var httpClientListener = new HttpClientCollector(options, tracerFactory.GetTracer(nameof(HttpClientCollector), "semver:" + assemblyVersion)); var azureClientsListener = new AzureClientsCollector(tracerFactory.GetTracer(nameof(AzureClientsCollector), "semver:" + assemblyVersion)); var azurePipelineListener = new AzurePipelineCollector(tracerFactory.GetTracer(nameof(AzurePipelineCollector), "semver:" + assemblyVersion)); this.collectors.Add(httpClientListener); this.collectors.Add(azureClientsListener); this.collectors.Add(azurePipelineListener); }
/// <summary> /// Initializes a new instance of the <see cref="DependenciesCollector"/> class. /// </summary> /// <param name="tracerFactory">Tracer factory to get a tracer from.</param> /// <param name="httpOptions">Http configuration options.</param> /// <param name="sqlOptions">Sql configuration options.</param> public DependenciesCollector(TracerFactoryBase tracerFactory, HttpClientCollectorOptions httpOptions = null, SqlClientCollectorOptions sqlOptions = null) { if (tracerFactory == null) { throw new ArgumentNullException(nameof(tracerFactory)); } var assemblyVersion = typeof(DependenciesCollector).Assembly.GetName().Version; var httpClientListener = new HttpClientCollector(tracerFactory.GetTracer(nameof(HttpClientCollector), "semver:" + assemblyVersion), httpOptions ?? new HttpClientCollectorOptions()); var azureClientsListener = new AzureClientsCollector(tracerFactory.GetTracer(nameof(AzureClientsCollector), "semver:" + assemblyVersion)); var azurePipelineListener = new AzurePipelineCollector(tracerFactory.GetTracer(nameof(AzurePipelineCollector), "semver:" + assemblyVersion)); var sqlClientListener = new SqlClientCollector(tracerFactory.GetTracer(nameof(AzurePipelineCollector), "semver:" + assemblyVersion), sqlOptions ?? new SqlClientCollectorOptions()); this.collectors.Add(httpClientListener); this.collectors.Add(azureClientsListener); this.collectors.Add(azurePipelineListener); this.collectors.Add(sqlClientListener); }
public static TracerBuilder AddDependencyCollector(this TracerBuilder builder, Action <HttpClientCollectorOptions> configure) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (configure == null) { throw new ArgumentNullException(nameof(configure)); } var options = new HttpClientCollectorOptions(); configure(options); return(builder .AddCollector((t) => new AzureClientsCollector(t)) .AddCollector((t) => new AzurePipelineCollector(t)) .AddCollector((t) => new HttpClientCollector(t, options))); }
/// <summary> /// Initializes a new instance of the <see cref="HttpClientCollector"/> class. /// </summary> /// <param name="tracer">Tracer to record traced with.</param> /// <param name="options">Configuration options for dependencies collector.</param> public HttpClientCollector(ITracer tracer, HttpClientCollectorOptions options) { this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpHandlerDiagnosticListener(tracer), options.EventFilter); this.diagnosticSourceSubscriber.Subscribe(); }