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);
}
}
}
Ich verwende einen Otel -Tracer -Prozessor ([code]CorrelationIdActivityEnrichingProcessor[/code]) 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] // 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);
}
}
}
[/code]