Wie kann ich azure.monitor.opentelemetry.aspnetcore konfigurieren, um die benutzerdefinierte Eigenschaft zu einer Teleme

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann ich azure.monitor.opentelemetry.aspnetcore konfigurieren, um die benutzerdefinierte Eigenschaft zu einer Teleme

by Anonymous » 28 Feb 2025, 10:07

Ich verwende einen Otel -Tracer -Prozessor (

Code: Select all

CorrelationIdActivityEnrichingProcessor
) So fügen Sie eine benutzerdefinierte Eigenschaften zu Spuren hinzu, die in Anwendungseinsichten emittiert werden. src = "https://i.Sstatic.net/qcvv5pnz.png"/>
Wie kann ich Azure.monitor.opentelemetry.aspnetcore konfigurieren, um die benutzerdefinierte Eigenschaft zu einer Art von Telemetrie hinzuzufügen, nicht nur Anfragen code> races?

Code: Select all

        // Add correlation ID to Application Insights telemetry as a custom property
builder.Services.ConfigureOpenTelemetryTracerProvider((sp, tracerBuilder) => tracerBuilder.AddProcessor(
new CorrelationIdActivityEnrichingProcessor(
sp.GetRequiredService(),
sp.GetRequiredService()
)
));

builder.Services.AddOpenTelemetry()
.UseAzureMonitor(options =>
{
options.EnableLiveMetrics = true;
}).ConfigureResource(resourceBuilder =>
{
resourceBuilder.AddAttributes([
new KeyValuePair("service.name", "MyApp")
]);
});

public class CorrelationIdActivityEnrichingProcessor(IHttpContextAccessor httpContextAccessor, ILogger logger) : BaseProcessor
{
public override void OnStart(Activity activity)
{
var httpContext = httpContextAccessor.HttpContext;
var correlationId = httpContext?.Request.Headers["correlation-id"].FirstOrDefault();
if (correlationId != null)
{
// logger.LogDebug("Enriching activity with correlation ID: {CorrelationId}", correlationId);
activity.SetTag("CorrelationId", correlationId);
}
}
}

Top