public static async Task CallWithRequestTracing()

in src/Microsoft.Extensions.Configuration.AzureAppConfiguration/TracingUtils.cs [110:135]


        public static async Task CallWithRequestTracing(bool tracingEnabled, RequestType requestType, RequestTracingOptions requestTracingOptions, Func<Task> clientCall)
        {
            string correlationContextHeader = "";

            if (tracingEnabled && requestTracingOptions != null)
            {
                correlationContextHeader = CreateCorrelationContextHeader(requestType, requestTracingOptions);
            }

            var activity = new Activity(RequestTracingConstants.DiagnosticHeaderActivityName);
            activity.Start();

            try
            {
                if (!string.IsNullOrWhiteSpace(correlationContextHeader))
                {
                    activity.AddTag(RequestTracingConstants.CorrelationContextHeader, correlationContextHeader);
                }

                await clientCall().ConfigureAwait(false);
            }
            finally
            {
                activity.Stop();
            }
        }