如何设置Kamon来跟踪任意函数调用

时间:2019-01-25 08:28:18

标签: tracing kamon distributed-tracing

在scala play 2.6项目中使用Kamon,似乎通过方面j添加的工具自动跟踪到play.core.server.AkkaHttpServer的调用。

示例

已跟踪路由/blogposts/。但是,例如BlogPostService.getNewest等内部的其他调用则不会。

问题

如何将此跟踪扩展到其他函数调用?是否需要手动创建跨度?还是可以通过其他机制(配置,自己的方面等)将更多的类及其功能添加到跟踪中?

1 个答案:

答案 0 :(得分:0)

在任意函数调用中都有多个跟踪选项。 一种方法是使用方面来编织任何所需的跟踪功能。如果您有一项功能(例如通过WSClient发出的http请求且需要一直跟踪),则最好使用该功能。 Kamon Play已经为WSClient做到了这一点。

对于所有其他跟踪需求,最好像记录日志一样处理跟踪。是的,将单个调用添加到跟踪功能是一项额外的工作,但是从某种程度上来说,预期的工作流最终将到达跟踪中的逻辑段,而不必跟踪每个函数调用(细化)。