/// <summary> /// Initializes a new instance of the <see cref="SqlClientCollector"/> class. /// </summary> /// <param name="tracer">Tracer to record traced with.</param> /// <param name="options">Configuration options for sql collector.</param> public SqlClientCollector(Tracer tracer, SqlClientCollectorOptions options) { this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber( name => new SqlClientDiagnosticListener(name, tracer, options), listener => listener.Name == SqlClientDiagnosticListenerName, null); this.diagnosticSourceSubscriber.Subscribe(); }
/// <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 httpWebRequestCollector = new HttpWebRequestCollector(tracerFactory.GetTracer(nameof(HttpWebRequestCollector), "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(httpWebRequestCollector); this.collectors.Add(azureClientsListener); this.collectors.Add(azurePipelineListener); this.collectors.Add(sqlClientListener); }