【问题标题】:OpenTelemetry, AspNetCore and Jaeger - Getting started questionsOpenTelemetry、AspNetCore 和 Jaeger - 入门问题
【发布时间】:2021-08-20 15:18:03
【问题描述】:

我一直在阅读和观看一些关于 aspnetcore 和 otel 的视频。

从 2020 年以来,API 表面似乎发生了很大变化。

我已通过 OpenTelemetry.Extensions.Hosting、OpenTelemetry.Instrumentation.HTTP、OpenTelemetry.Instrumentation.AspNetCore 和 Jaeger 导出器将我的 aspnetcore 解决方案与 otel 连接起来。

我有几个问题;

  1. 在我看到的示例中,我可以通过以下方式设置顶级服务名称 出口商的服务注册,但这个属性似乎 已在最近的软件包中被删除。如何设置顶部 级别服务名称(它在 jaeger 中显示未知服务)?

  2. 我正在尝试将我的租户标识符传播到所有跨度相关的 来电。我正在使用 activity.Current.AddBaggage("TenantId",MyTenantId) 但价值没有被导出到 jaeger(行李物品 jaeger 收到的原始 json 中不存在)。

  3. 我想在所有人的响应标头中包含活动 ID 传出响应。我需要自己写这个,还是烤出来的 到某个地方的 aspnet 核心 otel 代码?

谢谢!

【问题讨论】:

    标签: asp.net-core jaeger open-telemetry


    【解决方案1】:

    如何设置顶级服务名称(它在 jaeger 中显示未知服务)?

    您可以使用Resource 实现此目的。有几种方法可以做到这一点。您可以设置环境变量OTEL_RESOURCE_ATTRIBUTES=service.name=my-service-nameOTEL_SERVICE_NAME=my-service-name

    如果您想以编程方式执行此操作,您可以将 register 一个 Resource 对象添加到 TracerProvider。

    我正在尝试将我的租户标识符传播到所有与跨度相关的调用。我正在使用 activity.Current.AddBaggage("TenantId",MyTenantId) 但该值没有导出到 jaeger(jaeger 收到的原始 json 中不存在行李项目)。

    我认为行李物品不会自动添加到追踪中。对于这种用途,您可能应该查看TraceState

    我想在所有传出响应的响应标头中包含活动 ID。我需要自己编写,还是将其融入 aspnet 核心 otel 代码的某个地方?

    我对 aspnet 检测组件不是很熟悉,但应该有一些钩子来做这件事。 JS、Python等Client库都有这个功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-05
      • 2023-04-04
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多