private void OnEventStart()

in src/sdk/Http/HttpOutDiagnosticListenerNetframework.cs [74:98]


        private void OnEventStart(object value)
        {
            var request = AgentUtil.FetchPropertyUsingReflection(value, "Request");
            if (request is HttpWebRequest webRequest)
            {
                // Skip AWS SDK Request since it is instrumented using the SDK
                if (HttpRequestUtil.IsTraceable(webRequest))
                {
                    HttpRequestUtil.ProcessRequest(webRequest);

                    try
                    {
                        var currentSubsegment = AWSXRayRecorder.Instance.GetEntity() as Subsegment;
                        if (currentSubsegment != null)
                        {
                            CurrentHttpWebRequests.TryAdd(webRequest, currentSubsegment);
                        }
                    }
                    catch (EntityNotAvailableException e)
                    {
                        AWSXRayRecorder.Instance.TraceContext.HandleEntityMissing(AWSXRayRecorder.Instance, e, "Subsegment is not available in trace context.");
                    }
                }
            }
        }