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();
}
}