/// <summary> /// Initialize AWSXRayRecorder instance, register configurations and tracing handlers /// </summary> internal static void InitializeAspNet() { if (!AWSXRayRecorder.IsCustomRecorder) // If custom recorder is not set { AWSXRayRecorder.Instance.SetTraceContext(new HybridContextContainer()); // configure Trace Context } _recorder = AWSXRayRecorder.Instance; // Register configurations var xrayAutoInstrumentationOptions = XRayConfiguration.Register(); _recorder.SetDaemonAddress(xrayAutoInstrumentationOptions.DaemonAddress); if (GetSegmentNamingStrategy() == null) // ensures only one time initialization among many HTTPApplication instances { var serviceName = xrayAutoInstrumentationOptions.ServiceName; InitializeAspNet(new FixedSegmentNamingStrategy(serviceName)); } // Initialize tracing handlers for Asp.Net platform AspNetTracingHandlers.Initialize(xrayAutoInstrumentationOptions); }