Запретите экспорт трассировки для конечной точки Метрики с помощью OpenTelemetryC#

Место общения программистов C#
Ответить
Anonymous
 Запретите экспорт трассировки для конечной точки Метрики с помощью OpenTelemetry

Сообщение Anonymous »

В моем веб-приложении ASP.NET Core есть следующая простая настройка:

Код: Выделить всё

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System.Net;
using System.IO;

using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;

namespace MyNamespace;

public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var builder = WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) => { ... }
.ConfigureServices((context, services) =>
{
services.AddOpenTelemetry()
.ConfigureResource(resource => resource
.AddService(serviceName: context.HostingEnvironment.ApplicationName))
.WithMetrics(metrics =>
{
metrics.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddSqlClientInstrumentation()
.AddPrometheusExporter();
})
.WithTracing(tracing =>
{
tracing.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation(config =>
{
config.FilterHttpRequestMessage = (httpRequestMessage) =>
{
// Filter out health check requests and other non-business requests
var path = httpRequestMessage.RequestUri?.AbsolutePath;
return !string.IsNullOrEmpty(path) &&
!path.StartsWith("/health") &&
!path.StartsWith("/metrics") &&
!path.StartsWith("/favicon.ico");
};
})
.AddOtlpExporter();
});
})
.UseStartup()
.UseKestrel();

return builder;
}
}
Когда я запускаю свое приложение и просматриваю экспортированные трассировки в конечной точке Jaeger, отображается множество запросов для конечной точки метрик, хотя я намеревался не экспортировать их с помощью FilterHttpRequestMessage. Я также установил точку останова в функции, однако она никогда не срабатывает (символы соответствуют коду, я это уже проверил).
Я использую all-in-one-jaeger без какой-либо дополнительной настройки. Трафик экспортируется через gRPC через порт 4317, и его можно запросить в Jaeger:
Изображение

Есть ли способ исключить экспорт этих следов? Они не несут для меня никакой пользы, а вместо этого загромождают пользовательский интерфейс и сжигают мое хранилище.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ntelemetry
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»