internal bool EventFilter(HttpWebRequest request) { Uri requestUri; if (request.Method == "POST" && (requestUri = request.RequestUri) != null && HttpClientInstrumentationOptions.IsInternalUrl(requestUri)) { return(false); } return(this.FilterFunc?.Invoke(request) ?? true); }
/// <summary> /// Initializes a new instance of the <see cref="HttpClientInstrumentation"/> class. /// </summary> /// <param name="activitySourceAdapter">ActivitySource adapter instance.</param> /// <param name="options">Configuration options for HTTP client instrumentation.</param> public HttpClientInstrumentation(ActivitySourceAdapter activitySourceAdapter, HttpClientInstrumentationOptions options) { this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpHandlerDiagnosticListener(options, activitySourceAdapter), (activityName, arg1, arg2) => options?.EventFilter(activityName, arg1) ?? true); this.diagnosticSourceSubscriber.Subscribe(); }
/// <summary> /// Initializes a new instance of the <see cref="HttpClientInstrumentation"/> class. /// </summary> /// <param name="options">Configuration options for HTTP client instrumentation.</param> public HttpClientInstrumentation(HttpClientInstrumentationOptions options) { this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpHandlerDiagnosticListener(options), null); this.diagnosticSourceSubscriber.Subscribe(); }
/// <summary> /// Initializes a new instance of the <see cref="HttpClientInstrumentation"/> class. /// </summary> /// <param name="activitySourceAdapter">ActivitySource adapter instance.</param> /// <param name="options">Configuration options for HTTP client instrumentation.</param> public HttpClientInstrumentation(ActivitySourceAdapter activitySourceAdapter, HttpClientInstrumentationOptions options) { this.diagnosticSourceSubscriber = new DiagnosticSourceSubscriber(new HttpHandlerDiagnosticListener(options, activitySourceAdapter), null); this.diagnosticSourceSubscriber.Subscribe(); }