1 instantiation of RetryBudgetStrategy
Microsoft.Extensions.Http.Resilience (1)
Polly\HttpRetryResiliencePipelineBuilderExtensions.cs (1)
103context => new RetryBudgetStrategy(new RetryBudget(retryRatio, samplingDuration, minimumThroughput, context.TimeProvider), context.Telemetry),
10 references to RetryBudgetStrategy
Microsoft.Extensions.Http.Resilience (5)
Internal\RetryBudgetStrategy.cs (3)
25private static readonly ResiliencePropertyKey<RetryBudgetStrategy?> _budgetKey = new("Resilience.Http.RetryBudget"); 67_ = context.Properties.TryGetValue(_budgetKey, out var previous); 89if (!args.Context.Properties.TryGetValue(_budgetKey, out var strategy) || strategy is null)
Internal\RetryBudgetStrategyOptions.cs (1)
9/// Options of the <see cref="RetryBudgetStrategy"/>. Only used to name the strategy for telemetry.
Polly\HttpRetryResiliencePipelineBuilderExtensions.cs (1)
77ShouldHandle = options.ShouldHandle is null ? null! : RetryBudgetStrategy.WrapShouldHandle(options.ShouldHandle, options.MaxRetryAttempts),
Microsoft.Extensions.Http.Resilience.Tests (5)
Polly\HttpRetryResiliencePipelineBuilderExtensionsTests.cs (4)
205var budgetEvent = _events.Should().ContainSingle(e => e.Event.EventName == RetryBudgetStrategy.BudgetExhaustedEventName).Subject; 220_events.Should().NotContain(e => e.Event.EventName == RetryBudgetStrategy.BudgetExhaustedEventName); 231_events.Should().ContainSingle(e => e.Event.EventName == RetryBudgetStrategy.BudgetExhaustedEventName); 243_events.Should().NotContain(e => e.Event.EventName == RetryBudgetStrategy.BudgetExhaustedEventName);
Resilience\HttpClientBuilderExtensionsTests.RetryBudget.cs (1)
256m.Tags.TryGetValue("event.name", out var name) && Equals(name, RetryBudgetStrategy.BudgetExhaustedEventName));