Blazor WASM配置OtlpTraceExporter导出追踪遇空引用异常求助
Blazor WASM配置OtlpTraceExporter导出追踪数据触发空引用异常
运行时抛出的异常信息:
System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.) ---> System.NullReferenceException: Object reference not set to an instance of an object. at Grpc.Net.Client.Balancer.Internal.BalancerHttpHandler.IsSocketsHttpHandlerSetup(SocketsHttpHandler socketsHttpHandler) at Grpc.Net.Client.Balancer.Internal.BalancerHttpHandler.ConfigureSocketsHttpHandlerSetup(SocketsHttpHandler socketsHttpHandler, Func`3 connectCallback) at Grpc.Net.Client.GrpcChannel.CreateInternalHttpInvoker(HttpMessageHandler handler) at Grpc.Net.Client.GrpcChannel..ctor(Uri address, GrpcChannelOptions channelOptions) at Grpc.Net.Client.GrpcChannel.ForAddress(Uri address, GrpcChannelOptions channelOptions) at Grpc.Net.Client.GrpcChannel.ForAddress(Uri address) at OpenTelemetry.Exporter.OtlpExporterOptionsExtensions.CreateChannel(OtlpExporterOptions options) at OpenTelemetry.Exporter.OpenTelemetryProtocol.Implementation.ExportClient.OtlpGrpcTraceExportClient..ctor(OtlpExporterOptions options, TraceServiceClient traceServiceClient) at OpenTelemetry.Exporter.OtlpExporterOptionsExtensions.GetTraceExportClient(OtlpExporterOptions options) at OpenTelemetry.Exporter.OtlpTraceExporter..ctor(OtlpExporterOptions exporterOptions, SdkLimitOptions sdkLimitOptions, IExportClient`1 exportClient) at OpenTelemetry.Trace.OtlpTraceExporterHelperExtensions.BuildOtlpExporterProcessor(OtlpExporterOptions exporterOptions, SdkLimitOptions sdkLimitOptions, IServiceProvider serviceProvider, Func`2 configureExporterInstance) at OpenTelemetry.Trace.OtlpTraceExporterHelperExtensions.<>c__DisplayClass2_0.<AddOtlpExporter>b__1(IServiceProvider sp) at OpenTelemetry.Trace.TracerProviderBuilderExtensions.<>c__DisplayClass8_0.<AddProcessor>b__0(IServiceProvider sp, TracerProviderBuilder builder) at OpenTelemetry.Trace.OpenTelemetryDependencyInjectionTracingServiceCollectionExtensions.ConfigureTracerProviderBuilderCallbackWrapper.ConfigureBuilder(IServiceProvider serviceProvider, TracerProviderBuilder tracerProviderBuilder) at OpenTelemetry.Trace.TracerProviderSdk..ctor(IServiceProvider serviceProvider, Boolean ownsServiceProvider) at OpenTelemetry.Trace.TracerProviderBuilderBase.Build() at OpenTelemetry.Trace.TracerProviderBuilderBase.InvokeBuild() at OpenTelemetry.Trace.TracerProviderBuilderExtensions.Build(TracerProviderBuilder tracerProviderBuilder) at Program.<Main>$(String[] args) in D:\code\work\tfsonline\AssistenciasHelpdesk\Grm.Assistencias.Web\Program.cs:line 95
我的Blazor WASM遥测配置代码:
ResourceBuilder resourceBuilder = ResourceBuilder.CreateDefault().AddService("DemoApp"); string jaegerEnpoint = builder.Configuration.GetValue<string>("jaegerUrl"); TracerProvider traceProvider = Sdk.CreateTracerProviderBuilder() .SetResourceBuilder(resourceBuilder) .AddSource(AssistenciasClienteActivitySource.Instance.Name, AssistenciasServicosActivitySource.Instance.Name) .AddHttpClientInstrumentation() .AddOtlpExporter(options => { options.Protocol = OtlpExportProtocol.Grpc; options.Endpoint = new Uri(jaegerEnpoint); }) .Build();
请问我是否遗漏了配置项?恳请帮忙排查问题,谢谢!
内容的提问来源于stack exchange,提问作者Luis Abreu
相关产品推荐
相关产品推荐

