如何从跟踪信息中排除 Hangfire 请求?

问题描述 投票:0回答:1

我使用 OpenTelemetry 收集跟踪并将其发送到 AWS X-Ray。我想排除与 Hangfire 请求相关的跟踪,因为它在 AWS X-Ray Trace Map 中创建新序列

Client -> DB
并每分钟收集 80-100 个请求。正确的序列仍然存在,看起来像
Client -> App -> DB
。我设置OTel的代码:

        Sdk.CreateTracerProviderBuilder()
            .AddXRayTraceId()
            .AddAWSInstrumentation()
            .AddAspNetCoreInstrumentation()
            .AddHangfireInstrumentation()
            .AddHttpClientInstrumentation()
            .AddEntityFrameworkCoreInstrumentation()
            .AddNpgsql()
            .SetResourceBuilder(ResourceBuilder
                .CreateDefault()
                .AddService(otelOptions.ServiceName)
                .AddDetector(new AWSEC2ResourceDetector())
                .AddTelemetrySdk())
            .AddSource(otelOptions.ServiceName)
            .AddOtlpExporter(opts =>
            {
                opts.Endpoint = new Uri(otelOptions.Endpoint);
            })
            .Build();

那么如何从跟踪信息中排除 Hangfire 请求呢?

我尝试使用

EntityFrameworkInstrumentationOptions
添加过滤器,也许我在某个地方错了,但它不起作用。我检查了
.AddHangfireInstrumentation()
方法并尝试使用
HangfireInstrumentationOptions
,但仍然没有结果。

amazon-web-services trace hangfire open-telemetry aws-xray
1个回答
0
投票

解决方案是不使用

.UseNpgsql()
,因为它会收集所有对数据库的请求:)你可以只使用
.AddEntityFrameworkCoreInstrumentation()

© www.soinside.com 2019 - 2024. All rights reserved.