diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.csproj b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.csproj index 32e4668fd7d..672833718fc 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.csproj +++ b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.csproj @@ -1,7 +1,7 @@  Microsoft.Extensions.Resilience - Mechanisms to harden applications against transient failures. + Extensions to the Polly libraries to enrich telemetry with metadata and exception summaries. Resilience diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json index 7c296a82609..2474bf8ab61 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json +++ b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json @@ -2,15 +2,15 @@ "Name": "Microsoft.Extensions.Resilience, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { - "Type": "static class Microsoft.Extensions.Resilience.ResilienceContextExtensions", + "Type": "static class Polly.ResilienceContextExtensions", "Stage": "Stable", "Methods": [ { - "Member": "static Microsoft.Extensions.Http.Diagnostics.RequestMetadata? Microsoft.Extensions.Resilience.ResilienceContextExtensions.GetRequestMetadata(this Polly.ResilienceContext context);", + "Member": "static Microsoft.Extensions.Http.Diagnostics.RequestMetadata? Polly.ResilienceContextExtensions.GetRequestMetadata(this Polly.ResilienceContext context);", "Stage": "Stable" }, { - "Member": "static void Microsoft.Extensions.Resilience.ResilienceContextExtensions.SetRequestMetadata(this Polly.ResilienceContext context, Microsoft.Extensions.Http.Diagnostics.RequestMetadata requestMetadata);", + "Member": "static void Polly.ResilienceContextExtensions.SetRequestMetadata(this Polly.ResilienceContext context, Microsoft.Extensions.Http.Diagnostics.RequestMetadata requestMetadata);", "Stage": "Stable" } ] diff --git a/src/Libraries/Microsoft.Extensions.Resilience/README.md b/src/Libraries/Microsoft.Extensions.Resilience/README.md index 6b543a4412f..28ec491febb 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/README.md +++ b/src/Libraries/Microsoft.Extensions.Resilience/README.md @@ -1,6 +1,6 @@ # Microsoft.Extensions.Resilience -Mechanisms to harden applications against transient failures. +Extensions to the Polly libraries to enrich telemetry with metadata and exception summaries. ## Install the package @@ -18,6 +18,22 @@ Or directly in the C# project file: ``` +## Usage Examples + +The services can be registered using the following method: + +```csharp +public static IServiceCollection AddResilienceEnricher(this IServiceCollection services) +``` + +This will optionally consume the `IExceptionSummarizer` service if it has been registered and add that data to Polly's telemetry. It will also include `RequestMetadata` that can be set or retrieved with these extensions: + +```csharp +public static void SetRequestMetadata(this ResilienceContext context, RequestMetadata requestMetadata) +public static RequestMetadata? GetRequestMetadata(this ResilienceContext context) +``` + +See the Polly docs for details about working with [`ResilienceContext`](https://www.pollydocs.org/advanced/resilience-context.html). ## Feedback & Contributing diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Resilience/Internal/ResilienceMetricsEnricher.cs b/src/Libraries/Microsoft.Extensions.Resilience/Resilience/Internal/ResilienceMetricsEnricher.cs index ddcf87e75e8..545ce4b6134 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Resilience/Internal/ResilienceMetricsEnricher.cs +++ b/src/Libraries/Microsoft.Extensions.Resilience/Resilience/Internal/ResilienceMetricsEnricher.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using Microsoft.Extensions.Diagnostics.ExceptionSummarization; using Microsoft.Extensions.Http.Diagnostics; +using Polly; using Polly.Telemetry; namespace Microsoft.Extensions.Resilience.Internal; diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Resilience/ResilienceContextExtensions.cs b/src/Libraries/Microsoft.Extensions.Resilience/Resilience/ResilienceContextExtensions.cs index 89cc75533d7..655aa7c259e 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Resilience/ResilienceContextExtensions.cs +++ b/src/Libraries/Microsoft.Extensions.Resilience/Resilience/ResilienceContextExtensions.cs @@ -4,9 +4,8 @@ using System; using Microsoft.Extensions.Http.Diagnostics; using Microsoft.Shared.Diagnostics; -using Polly; -namespace Microsoft.Extensions.Resilience; +namespace Polly; /// /// Extensions for .