0

我们有 Android 和 iOS (Objective-C) 移动应用程序。我们的商业智能团队有兴趣接收每个数据事件的以下参数:

  • 应用程序版本
  • 用户会话 ID

我们使用 gRPC 进行移动后端通信以及后端不同微服务之间的通信。

我正在考虑使用在移动应用程序上启动的开放跟踪跨度发送此信息,并通过Baggage传递应用程序版本和会话 ID 。

任何人都可以建议开放跟踪是否适合这种情况,或者是否有更好的选择?

我们也在考虑在后端使用 LinkerD

4

1 回答 1

0

我不确定行李是否真的是你想要的。OpenTracing 还提供了向 span 添加标签的可能性,这可能足以满足您的用例。

行李项与跨度上下文一起向下游发送,而标签是跨度的“本地”。如果您需要访问下游跨度上的应用程序版本,那么您确实必须使用行李项,但如果您只需要在跨度内拥有版本信息,您应该标记它。

关于 OpenTracing 是否合适:我想说这正是 OpenTracing 的目的。您不仅可能会从您正在使用的框架中获得“自动”跨度(使用“框架集成”),而且您还可以将其与您的业务信息相关联。我们有一个关于 Hawkular APM 的示例,我们将“操作”和“业务”数据添加到 traces中。

于 2017-05-08T10:57:07.517 回答