Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ namespace Microsoft.Extensions.AmbientMetadata;
/// At startup time, the class properties will be initialized from the generated code.
/// Currently supported CI pipelines:
/// <list type="bullet">
/// <item><see href="https://learn.microsoft.com/azure/devops/pipelines/build/variables#build-variables-devops-services">Azure DevOps</see></item>
/// <item><see href="https://docs.github.com/en/actions/reference/variables-reference#default-environment-variables">GitHub Actions</see></item>
/// <item><see href="https://learn.microsoft.com/azure/devops/pipelines/build/variables#build-variables-devops-services">Azure DevOps</see></item>
/// <item><see href="https://docs.github.com/en/actions/reference/variables-reference#default-environment-variables">GitHub Actions</see></item>
/// </list>
/// </remarks>
public class BuildMetadata
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ public static class ResilienceServiceCollectionExtensions
/// <remarks>
/// This method adds additional dimensions on top of the default ones that are built-in to the Polly library. These include:
/// <list type="bullet">
/// <item><description>
/// Exception enrichment based on <see cref="IExceptionSummarizer"/>.</description>
/// </item>
/// <item><description>
/// Request metadata enrichment based on <see cref="RequestMetadata"/>.</description>
/// </item>
/// <item>
/// Exception enrichment based on <see cref="IExceptionSummarizer"/>.
/// </item>
/// <item>
/// Request metadata enrichment based on <see cref="RequestMetadata"/>.
/// </item>
/// </list>
/// </remarks>
/// <exception cref="ArgumentNullException"><paramref name="services"/> is <see langword="null"/>.</exception>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ public interface IEnrichmentTagCollector
/// <remarks>
/// For log enrichment, <paramref name="tagValue"/> is serialized as per the rules below:
/// <list type="bullet">
/// <item>
/// <item>
/// <term>Arrays</term>
/// <description>Recognized and serialized in a loop.</description>
/// </item>
/// <item>
/// </item>
/// <item>
/// <term><see cref="IDictionary"/></term>
/// <description>Recognized as IDictionary&lt;string, object&gt; and serialized in a loop.</description>
/// </item>
/// <item>
/// </item>
/// <item>
/// <term><see cref="DateTime"/></term>
/// <description>Recognized and serialized after converting to <see cref="DateTime.ToUniversalTime()"/>.</description>
/// </item>
/// <item>
/// </item>
/// <item>
/// <term>All other primitive types</term>
/// <description>Converted to <see cref="string"/> as is and serialized.</description>
/// </item>
/// </item>
/// </list>
/// For metric enrichment, <paramref name="tagValue"/> is converted to <see cref="string"/> format using <see cref="object.ToString()"/> method.
/// </remarks>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@ public RequestMetadata(string methodType, string requestRoute, string requestNam
/// <remarks>
/// Request Route is used for multiple use cases:
/// <list type="bullet">
/// <item><description>
/// For outgoing request metrics, it is used as the request name dimension (if RequestName is not provided).</description>
/// </item>
/// <item><description>
/// For Logs and traces, it is used to identify sensitive parameters from the path and redact them in the exported path, so sensitive data leakage can be avoided.
/// If you are using redaction, the template should be accurate for the request else redaction won't be applied to sensitive parameters.
/// For example, the template would look something like /v1/users/{userId}/chats/{chatId}/messages. For parameters to be redacted, the sensitive parameter names should match exactly as provided
/// in configuration for outgoing tracing and outgoing logging autocollectors.</description>
/// </item>
/// <item>
/// For outgoing request metrics, it is used as the request name dimension (if RequestName is not provided).
/// </item>
/// <item>
/// For Logs and traces, it is used to identify sensitive parameters from the path and redact them in the exported path, so sensitive data leakage can be avoided.
/// If you are using redaction, the template should be accurate for the request else redaction won't be applied to sensitive parameters.
/// For example, the template would look something like /v1/users/{userId}/chats/{chatId}/messages. For parameters to be redacted, the sensitive parameter names should match exactly as provided
/// in configuration for outgoing tracing and outgoing logging autocollectors.
/// </item>
/// </list>
/// </remarks>
public string RequestRoute { get; set; } = TelemetryConstants.Unknown;
Expand All @@ -63,18 +63,18 @@ public RequestMetadata(string methodType, string requestRoute, string requestNam
/// <remarks>
/// RequestName is used in the following manner by outgoing HTTP request auto collectors:
/// <list type="bullet">
/// <item><description>
/// For outgoing request metrics: RequestName is used as the request name dimension if present. If not provided, the RequestRoute value is used instead.</description>
/// </item>
/// <item><description>
/// For outgoing request traces: RequestName is used as the Display name for the activity. That is, when looking at the E2E trace flow, this name is used in the Tree view of traces.</description>
/// </item>
/// <item><description>
/// If RequestName isn't provided, the RequestRoute value is used instead.</description>
/// </item>
/// <item><description>
/// For outgoing request logs: When present, RequestName is added as an additional tag to logs.</description>
/// </item>
/// <item>
/// For outgoing request metrics: RequestName is used as the request name dimension if present. If not provided, the RequestRoute value is used instead.
/// </item>
/// <item>
/// For outgoing request traces: RequestName is used as the Display name for the activity. That is, when looking at the E2E trace flow, this name is used in the Tree view of traces.
/// </item>
/// <item>
/// If RequestName isn't provided, the RequestRoute value is used instead.
/// </item>
/// <item>
/// For outgoing request logs: When present, RequestName is added as an additional tag to logs.
/// </item>
/// </list>
/// </remarks>
public string RequestName { get; set; } = TelemetryConstants.Unknown;
Expand All @@ -85,12 +85,12 @@ public RequestMetadata(string methodType, string requestRoute, string requestNam
/// <remarks>
/// DependencyName is used in the following manner by outgoing http request auto collectors:
/// <list type="bullet">
/// <item><description>
/// For outgoing request metrics: This is added as dependency name dimension so metrics can be pivoted based on the dependency.</description>
/// </item>
/// <item><description>
/// For outgoing request traces and logs: This is added as dependency name dimension for better diagnosability.</description>
/// </item>
/// <item>
/// For outgoing request metrics: This is added as dependency name dimension so metrics can be pivoted based on the dependency.
/// </item>
/// <item>
/// For outgoing request traces and logs: This is added as dependency name dimension for better diagnosability.
/// </item>
/// </list>
/// </remarks>
public string DependencyName { get; set; } = TelemetryConstants.Unknown;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,12 @@ public sealed class TagProviderAttribute : Attribute
/// The method referenced by this constructor should be non-generic, <c>static</c>, and <c>public</c>, and it should have two parameters:
/// <list type="bullet">
/// <item>
/// <description>First parameter of type <see cref="ITagCollector"/>.</description>
/// First parameter of type <see cref="ITagCollector"/>.
/// </item>
/// <item>
/// <description>
/// Second parameter of type <c>T?</c>, where <c>T</c> is the type of logging method parameter that you want to log.
/// </description>
/// </item>
/// </list>
/// </list>
/// </remarks>
/// <example>
/// <code language="csharp">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ namespace Microsoft.Extensions.Diagnostics.Metrics;
/// <remarks>
/// This attribute is applied to a method that has the following constraints:
/// <list type="bullet">
/// <item><description>Must be a partial method.</description></item>
/// <item><description>Must return <c>metricName</c> as the type. A class with that name will be generated.</description></item>
/// <item><description>Must not be generic.</description></item>
/// <item><description>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</description></item>
/// <item><description>Must have all the keys provided in <c>staticTagNames</c> as string type parameters.</description></item>
/// <item>Must be a partial method.</item>
/// <item>Must return <c>metricName</c> as the type. A class with that name will be generated.</item>
/// <item>Must not be generic.</item>
/// <item>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</item>
/// <item>Must have all the keys provided in <c>staticTagNames</c> as string type parameters.</item>
/// </list>
/// </remarks>
/// <example>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ namespace Microsoft.Extensions.Diagnostics.Metrics;
/// <remarks>
/// This attribute is applied to a method that has the following constraints:
/// <list type="bullet">
/// <item><description>Must be a partial method.</description></item>
/// <item><description>Must return <c>metricName</c> as the type. A class with that name will be generated.</description></item>
/// <item><description>Must not be generic.</description></item>
/// <item><description>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</description></item>
/// <item><description>Must have all the keys provided in <c>staticTags</c> as string type parameters.</description></item>
/// <item>Must be a partial method.</item>
/// <item>Must return <c>metricName</c> as the type. A class with that name will be generated.</item>
/// <item>Must not be generic.</item>
/// <item>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</item>
/// <item>Must have all the keys provided in <c>staticTags</c> as string type parameters.</item>
/// </list>
/// </remarks>
/// <example>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ namespace Microsoft.Extensions.Diagnostics.Metrics;
/// <remarks>
/// This attribute is applied to a method that has the following constraints:
/// <list type="bullet">
/// <item><description>Must be a partial method.</description></item>
/// <item><description>Must return <c>metricName</c> as the type. A class with that name will be generated.</description></item>
/// <item><description>Must not be generic.</description></item>
/// <item><description>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</description></item>
/// <item><description>Must have all the keys provided in <c>staticTags</c> as string type parameters.</description></item>
/// <item>Must be a partial method.</item>
/// <item>Must return <c>metricName</c> as the type. A class with that name will be generated.</item>
/// <item>Must not be generic.</item>
/// <item>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</item>
/// <item>Must have all the keys provided in <c>staticTags</c> as string type parameters.</item>
/// </list>
/// </remarks>
/// <example>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ namespace Microsoft.Extensions.Diagnostics.Metrics;
/// <remarks>
/// This attribute is applied to a method that has the following constraints:
/// <list type="bullet">
/// <item><description>Must be a partial method.</description></item>
/// <item><description>Must return <c>metricName</c> as the type. A class with that name will be generated.</description></item>
/// <item><description>Must not be generic.</description></item>
/// <item><description>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</description></item>
/// <item><description>Must have all the keys provided in <c>staticTags</c> as string type parameters.</description></item>
/// <item>Must be a partial method.</item>
/// <item>Must return <c>metricName</c> as the type. A class with that name will be generated.</item>
/// <item>Must not be generic.</item>
/// <item>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</item>
/// <item>Must have all the keys provided in <c>staticTags</c> as string type parameters.</item>
/// </list>
/// </remarks>
/// <example>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ namespace Microsoft.Extensions.Diagnostics.Metrics;
/// <remarks>
/// This attribute is applied to a method that has the following constraints:
/// <list type="bullet">
/// <item><description>Must be a partial method.</description></item>
/// <item><description>Must return <c>metricName</c> as the type. A class with that name will be generated.</description></item>
/// <item><description>Must not be generic.</description></item>
/// <item><description>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</description></item>
/// <item><description>Must have all the keys provided in <c>staticTags</c> as string type parameters.</description></item>
/// <item>Must be a partial method.</item>
/// <item>Must return <c>metricName</c> as the type. A class with that name will be generated.</item>
/// <item>Must not be generic.</item>
/// <item>Must have <c>System.Diagnostics.Metrics.Meter</c> as first parameter.</item>
/// <item>Must have all the keys provided in <c>staticTags</c> as string type parameters.</item>
/// </list>
/// </remarks>
/// <example>
Expand Down
Loading