in src/WebJobs.Extensions.DurableTask/Correlation/DurableTaskCorrelationTelemetryInitializer.cs [87:127]
public void Initialize(ITelemetry telemetry)
{
if (this.IsSuppressedTelemetry(telemetry))
{
this.SuppressTelemetry(telemetry);
return;
}
if (!(telemetry is RequestTelemetry))
{
Activity currentActivity = Activity.Current;
if (telemetry is ExceptionTelemetry)
{
Console.WriteLine("exception!");
}
if (currentActivity == null)
{
if (CorrelationTraceContext.Current != null)
{
UpdateTelemetry(telemetry, CorrelationTraceContext.Current);
}
}
else
{
if (CorrelationTraceContext.Current != null)
{
UpdateTelemetry(telemetry, CorrelationTraceContext.Current);
}
else if (CorrelationSettings.Current.Protocol == Protocol.W3CTraceContext)
{
UpdateTelemetry(telemetry, currentActivity, false);
}
else if (CorrelationSettings.Current.Protocol == Protocol.HttpCorrelationProtocol
&& telemetry is ExceptionTelemetry)
{
UpdateTelemetryExceptionForHTTPCorrelationProtocol((ExceptionTelemetry)telemetry, currentActivity);
}
}
}
}