TelemetryUtil
using System;
using System.Runtime.CompilerServices;
namespace Polly.Telemetry
{
    [System.Runtime.CompilerServices.NullableContext(1)]
    [System.Runtime.CompilerServices.Nullable(0)]
    internal static class TelemetryUtil
    {
        internal const string PollyDiagnosticSource = "Polly";
        internal const string ExecutionAttempt = "ExecutionAttempt";
        internal const string PipelineExecuting = "PipelineExecuting";
        internal const string PipelineExecuted = "PipelineExecuted";
        public static void ReportExecutionAttempt<[System.Runtime.CompilerServices.Nullable(2)] TResult>(ResilienceStrategyTelemetry telemetry, ResilienceContext context, [System.Runtime.CompilerServices.Nullable(new byte[] {
            0,
            1
        })] Outcome<TResult> outcome, int attempt, TimeSpan executionTime, bool handled)
        {
            if (telemetry.Enabled)
                telemetry.Report(new ResilienceEvent(handled ? ResilienceEventSeverity.Warning : ResilienceEventSeverity.Information, "ExecutionAttempt"), context, outcome, new ExecutionAttemptArguments(attempt, executionTime, handled));
        }
    }
}