我在 Azure 中使用了多个资源,流程如下所示:
- 从 sftp 获取文件
- 使用来自 http 调用的数据丰富文件
- 将消息放入队列
- 处理消息
- 打一些外部电话
- 传递数据
我们如何追踪上述过程中特定的“运行”在哪里?
我们可以简单地创建一个 guid 并将其传递给应用程序洞察吗?
我在 Azure 中使用了多个资源,流程如下所示:
我们如何追踪上述过程中特定的“运行”在哪里?
我们可以简单地创建一个 guid 并将其传递给应用程序洞察吗?
这确实是分布式跟踪的完美场景!
有两种主要的方法来处理这些数据,使用Transaction Diagnostics视图或Application Map视图。前者有助于在每个请求的基础上发现性能问题,而后者则提供各种系统之间交互的拓扑视图。
大多数依赖项由 Application Insights SDK 自动收集,因为它通过依赖项自动收集器支持本地分布式跟踪,但您也可以使用TrackDependency API 手动跟踪它们。
在关联遥测时,您建议的 guid 采用 的形式operation_Id
,它将遥测与执行的逻辑操作相关联。要了解有关其如何在后台工作的更多信息,请查看Application Insights 中的遥测相关性。
为了进一步阅读,这里还有一篇简洁的博客文章,用一个例子说明了这一点。
希望这可以帮助!