我们有Android和iOS(Objective-C(移动应用程序。我们的商业智能团队有兴趣通过每个数据事件接收以下参数:
- 应用程序版本
- 用户会话ID
我们将GRPC用于移动 - 背景通信以及后端的不同微服务之间的通信。
我正在考虑使用在移动应用程序上启动的打开跟踪跨度发送此信息,并传递应用程序版本和会话ID baggage 。
任何人都可以建议开放跟踪是否适合这种情况,或者是否有更好的选择?
我们还在考虑在后端上使用Linkerd
我不确定行李真的是您想要的。opentracing还提供了在跨度上添加标签的可能性,这对于您的用例可能就足够了。
一个行李项目与跨度上下文一起发送,而标签是"本地"到跨度的。如果您需要需要在下游的跨度上访问应用程序版本,那么您确实必须使用行李项目,但是如果您需要的只是将版本信息在跨度内包含。
关于opentracing是合适的:我说这正是opentracing的目的。不仅您可能会从正在使用的框架中获得"自动"跨度(使用"框架集成"(,而且还可以将其与您的业务信息联系起来。我们在Hawkular APM上有一个示例,在其中添加了"操作"one_answers"业务"数据。