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.");
}
}
}
}