internal static void Initialize()

in src/sdk/Initialization/AspNetCoreTracingHandlers.cs [35:71]


        internal static void Initialize()
        {
            var xrayAutoInstrumentationOptions = XRayConfiguration.Register();

            var serviceName = xrayAutoInstrumentationOptions.ServiceName;

            var subscriptions = new List<DiagnosticListenerBase>();

            // Subscribe diagnostic listener for tracing Asp.Net Core request
            subscriptions.Add(new AspNetCoreDiagnosticListener(serviceName));

            // Subscribe diagnostic listener for tracing Http outgoing request
            if (xrayAutoInstrumentationOptions.TraceHttpRequests)
            {
                subscriptions.Add(new HttpOutDiagnosticListenerNetstandard());
            }

            // Subscribe diagnostic listener for tracing Sql request
            if (xrayAutoInstrumentationOptions.TraceSqlRequests)
            {
                subscriptions.Add(new SqlDiagnosticListener());
            }

            // Subscribe diagnostic listener for tracing EF Core request
            if (xrayAutoInstrumentationOptions.TraceEFRequests)
            {
                subscriptions.Add(new EntityFrameworkCoreDiagnosticListener());
            }

            DiagnosticListener.AllListeners.Subscribe(new DiagnosticListenerObserver(subscriptions));
            
            // Enable tracing for AWS request
            if (xrayAutoInstrumentationOptions.TraceAWSRequests)
            {
                AWSSDKRequestRegister.Register();
            }
        }