opentracing-我应该跟踪内部服务工作或仅仅是API调用



假设我有服务以下服务:

  1. 收到输入通知
  2. 处理输入通知,这意味着:
    • 一些计算
    • 存储在DB
    • 一些计算
    • 生成自己的通知
  3. 将其自己的通知发送给多个客户

在这种情况下,最好的做法是什么,我应该刻薄地追踪每个操作,例如计算,在DB中存储在DB等,或将其留给指标(即Prometheus(并为整个通知处理创建单个跨度吗?

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

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

最新更新