c# - 在我的应用程序中查看跟踪 asp.net 核心捕获的选项有哪些?
问题描述
我最近一直在阅读有关 asp.net core 中的分布式跟踪的主题。我正在使用 asp.net core 5,可以看到它正在自动创建与 W3C 上下文跟踪兼容的跟踪信息。我计划使用这些信息来帮助改进我的标准日志记录,但是,我也想知道我可以选择哪些选项来记录要在可视化器中使用的跟踪信息。
我猜 Application Insights 与此无缝集成(如果错了,请纠正我),但除了 AI 之外,我还有什么选择?我通常将 AWS 服务用于所有事情,因为我的客户端位于 AWS 云中,但看起来 AWS X-Ray 的 .net 核心库滚动了自己的跟踪数据,并且不会发送 .net 已经捕获的跟踪信息,这有点烦人。
除了AI,我还能把这个追踪信息发送到哪些地方查看?或者是否可以使用 AWS X-Ray 来做到这一点,而我只是没有找到关于如何完成的答案?
解决方案
我想我找到了完美的答案。重新阅读 OpenTelemetry 文档,它看起来像是与 .net core > 3 中存在的 asp.net core 活动功能无缝集成。
来自https://opentelemetry.io/docs/net/getting-started/
OpenTelemetry for .NET 在 OpenTelemetry 实现中是独一无二的,因为它与 .NET System.Diagnostics 库集成。在较高级别上,您可以将 OpenTelemetry for .NET 视为 System.Diagnostics 提供的遥测与更大的 OpenTelemetry 生态系统(例如 OpenTelemetry Protocol (OTLP) 和 OpenTelemetry Collector)之间的桥梁。
这使我能够导出到许多不同的跟踪提供程序,如 Jaeger 和 Zipkin,但是在 OpenTelemetry 的 NuGet 包中四处寻找,我还注意到它有一个 AWS X-Ray 导出器,如果它运行良好,那就太棒了。
推荐阅读
- html - 将下拉菜单与父级对齐
- cmd - ERRORLEVEL 无法报告 regsvr32 的进程退出代码,为什么?
- arrays - 使用 ArrayAdapter 意味着不再使用循环?
- c++ - 我可以在 std::shared_mutex 上使用 std::shared_lock 更改数据吗?
- c++ - 何时释放函数中声明的堆栈分配变量?
- windows - Atom:包拼写检查无法加载 es-CL 的检查器
- mongodb - 从 mongodb 中的每个 x 文档的集合中获取所有文档
- c# - C#/WPF RSA 不解密文本
- html - 使用 jQuery 滚动时更新鼠标位置
- llvm - 在 KLEE Docker 上配置错误:C 编译器无法创建可执行文件