我目前正在尝试了解如何以可扩展的方式自定义 Spring Cloud Sleuth 以向每个 Span 添加信息。
到目前为止我已经尝试过:
使用我自己的GenericFilterBean
and实现HandlerInterceptorAdapter
,在构造函数中给它们 aTracer
并在每次调用它们时编写标签tracer.addTag("key", "value")
我查看了新行李信息的想法——但是我以一种对整个跟踪来说是全局的方式来解释它——并且由于跟踪在不同的服务/机器上有多个请求,它不符合我添加信息的目的在服务/机器级别。
到目前为止,当我检查写入我的 kafka 主题的 JSON 通过spring-cloud-stream-binder-kafka
所以我的问题是:确实存在哪些类型的请求/动作来创建跨度,以及将某些东西注入这些跨度的适当方法是什么。由于我想将此实现部署到几个微服务,我不想注释每个方法或做类似的工作密集型,因此不可扩展的方法。