public void EnrichWithRequest(Activity activity, HttpRequestHeaders requestHeaders) { foreach (var trackedHeader in this._config.TrackedRequestHeaders) { if (requestHeaders.TryGetHeaderAsString(trackedHeader, out var headerContent)) { activity.SetTag(OpenTelemetryAttributes.GetAttributeHttpRequestHeader(trackedHeader), headerContent); } } }
public void OnStart(Activity activity, HttpWebRequest request) { foreach (var trackedHeader in this._config.TrackedRequestHeaders) { var headerContent = request.Headers.Get(trackedHeader); if (headerContent != null) { activity.SetTag(OpenTelemetryAttributes.GetAttributeHttpRequestHeader(trackedHeader), headerContent); } } }
public void Enrich(Activity activity, string eventName, object rawObject) { if (eventName.Equals("OnStartActivity")) { if (!(rawObject is HttpWebRequest request)) { return; } if (request.ContentLength > 0) { activity.SetTag(OpenTelemetryAttributes.GetAttributeHttpRequestHeader("content_length"), request.ContentLength); } foreach (var enrichHook in this._enrichHooks) { enrichHook.OnStart(activity, request); } } else if (eventName.Equals("OnStopActivity")) { if (!(rawObject is HttpWebResponse response)) { return; } if (response.ContentLength > 0) { activity.SetTag(OpenTelemetryAttributes.GetAttributeHttpResponseHeader("content_length"), response.ContentLength); } if (TracingUtils.IsErrorStatusCode((int)response.StatusCode)) { activity.SetTag("error", "true"); } foreach (var enrichHook in this._enrichHooks) { enrichHook.OnSuccessEnd(activity, response); } } else if (eventName.Equals("OnException")) { if (!(rawObject is WebException ex)) { return; } activity.SetTag("error", "true"); var statusCode = (ex.Response as HttpWebResponse)?.StatusCode; if (statusCode == null) { activity.SetTag(OpenTelemetryAttributes.AttributeHttpStatusCode, "-"); activity.SetTag(OpenTelemetryAttributes.AttributeHttpClientException, ex.Status.ToString()); } foreach (var enrichHook in this._enrichHooks) { enrichHook.OnError(activity, ex); } } }