Код: Выделить всё
public virtual IServiceProvider ConfigureServices(IServiceCollection services)
{
// configure Open Telemetry
services.AddOpenTelemetry()
.ConfigureResource(resource => resource
.AddService(
serviceName: $"{Configuration["SubscriptionClientName"]} Service",
serviceVersion: "1.0.0"))
.WithTracing(builder => builder
.SetSampler(new AlwaysOnSampler())
.AddSource(names: $"{Configuration["SubscriptionClientName"]} Service")
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(serviceName: $"{Configuration["SubscriptionClientName"]} Service"))
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddGrpcClientInstrumentation()
.AddEntityFrameworkCoreInstrumentation()
.AddOtlpExporter(options =>
{
options.Endpoint = new Uri("http://jaeger-allinone-collector.jaeger-observability.svc.cluster.local:4317");
options.Protocol = OtlpExportProtocol.Grpc;
}));
...
Код: Выделить всё
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.OtherStuff()
.Build();

Кроме того, я вижу это предупреждение в службе поддержки клиентов
[img]https://i.sstatic .net/5ktRrfHO.png[/img]
.
Насколько я понимаю, проблема в том, что служба телеметрии неправильно отправляет свой идентификатор диапазона клиенту услуга. Я подумал, что использования .AddAspNetCoreInstrumentation() и .AddHttpClientInstrumentation() должно быть достаточно, но это явно не сработало. Я подозреваю, что это проблема с конфигурацией, но не знаю, что еще попробовать.
В конце концов, я хочу, чтобы служба Customer отображалась как дочерний элемент службы телеметрии.
Подробнее здесь: https://stackoverflow.com/questions/791 ... id-invalid