小编IT *_*Pro的帖子

将 Opentelemetry 添加到 .Net Core 辅助服务

我正在尝试将 opentelemetry 添加到我的 .net core 5.0 工作服务项目之一,一切正常,但跟踪未开始发送到 Jaeger UI,我还注意到 ActivitySource.StartActivity 返回 null,我在 google 上搜索,看起来像我可能缺少 ActivirtListner 但不确定如何添加到我的工作服务中,

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            services.AddHostedService<Worker>();
            services.AddOpenTelemetryTracing(builder =>
            {
                //IConfiguration config = sp.GetRequiredService<IConfiguration>();
                builder
                    //.SetSampler(new AlwaysOnSampler())
                    .AddHttpClientInstrumentation()
                    //.AddSqlClientInstrumentation()
                    //.AddNServiceBusInstrumentation()
                    //.AddRabbitMqInstrumentation()
                    .AddSource(nameof(Worker))
                    .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("WorkerServiceForTelemetry"))
                    .AddConsoleExporter()
                    .AddAspNetCoreInstrumentation()
                    //.AddOtlpExporter(options => options.Endpoint = new Uri("http://localhost:4317"))
                    .AddJaegerExporter(opts =>
                    {
                        opts.AgentHost = "Jaeger";
                        opts.AgentPort = 6831;
                        opts.ExportProcessorType = ExportProcessorType.Simple;
                    });
            });
        }
Run Code Online (Sandbox Code Playgroud)

这是我的worker.cs 文件

using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using …
Run Code Online (Sandbox Code Playgroud)

c# backgroundworker .net-core .net-5 open-telemetry

6
推荐指数
1
解决办法
4819
查看次数

标签 统计

.net-5 ×1

.net-core ×1

backgroundworker ×1

c# ×1

open-telemetry ×1