Opentracing - 我应该追踪内部服务工作还是API调用?

时间:2018-02-21 21:48:39

标签: opentracing

假设我有以下服务:

  1. 收到输入通知
  2. 处理输入通知,表示:
    • 一些计算
    • 存储在DB
    • 一些压缩
    • 生成自己的通知
  3. 向多个客户发送自己的通知
  4. 在这种情况下,最佳做法是什么,我应该精确地跟踪每个操作,如计算,存储在db等中的单独跨度还是留下指标(即prometheus)并为整个通知处理创建单个跨度?

1 个答案:

答案 0 :(得分:2)

关于适合您的应用程序的粒度以及您期望生成的跟踪数据量,这取决于您。处理每分钟几个请求的应用程序将具有与每秒处理1000个请求的应用程序不同的需求。

也就是说,我建议在控制流进入或离开应用程序时创建跨度(例如,当您的应用程序开始处理来自外部系统的请求或消息时,以及当您的应用程序调用外部依赖项时,例如HTTP请求,发送通知,或从数据库写入/读取),并使用日志/标签来处理应用程序内部的所有内容。