Ejemplo n.º 1
0
        /// <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
        }
Ejemplo n.º 2
0
        /// <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
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        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();
 }