예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="HttpWebRequestAdapter"/> class.
        /// </summary>
        /// <param name="tracer">Tracer to record traced with.</param>
        /// <param name="options">Configuration options for HttpWebRequest adapter.</param>
        public HttpWebRequestAdapter(Tracer tracer, HttpClientAdapterOptions options)
        {
#if NET461
            GC.KeepAlive(HttpWebRequestDiagnosticSource.Instance);

            this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpWebRequestDiagnosticListener(tracer, options), options.EventFilter);
            this.diagnosticSourceSubscriber.Subscribe();
#endif
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DependenciesAdapter"/> 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 DependenciesAdapter(TracerFactoryBase tracerFactory, HttpClientAdapterOptions httpOptions = null, SqlClientAdapterOptions sqlOptions = null)
        {
            if (tracerFactory == null)
            {
                throw new ArgumentNullException(nameof(tracerFactory));
            }

            var assemblyVersion = typeof(DependenciesAdapter).Assembly.GetName().Version;

            var httpClientListener    = new HttpClientAdapter(tracerFactory.GetTracer(nameof(HttpClientAdapter), "semver:" + assemblyVersion), httpOptions ?? new HttpClientAdapterOptions());
            var httpWebRequestAdapter = new HttpWebRequestAdapter(tracerFactory.GetTracer(nameof(HttpWebRequestAdapter), "semver:" + assemblyVersion), httpOptions ?? new HttpClientAdapterOptions());
            var azureClientsListener  = new AzureClientsAdapter(tracerFactory.GetTracer(nameof(AzureClientsAdapter), "semver:" + assemblyVersion));
            var azurePipelineListener = new AzurePipelineAdapter(tracerFactory.GetTracer(nameof(AzurePipelineAdapter), "semver:" + assemblyVersion));
            var sqlClientListener     = new SqlClientAdapter(tracerFactory.GetTracer(nameof(AzurePipelineAdapter), "semver:" + assemblyVersion), sqlOptions ?? new SqlClientAdapterOptions());

            this.adapters.Add(httpClientListener);
            this.adapters.Add(httpWebRequestAdapter);
            this.adapters.Add(azureClientsListener);
            this.adapters.Add(azurePipelineListener);
            this.adapters.Add(sqlClientListener);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="HttpClientAdapter"/> class.
 /// </summary>
 /// <param name="tracer">Tracer to record traced with.</param>
 /// <param name="options">Configuration options for dependencies adapter.</param>
 public HttpClientAdapter(Tracer tracer, HttpClientAdapterOptions options)
 {
     this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpHandlerDiagnosticListener(tracer, options), options.EventFilter);
     this.diagnosticSourceSubscriber.Subscribe();
 }