logging - 如何使用 Sleuth 通过不同的依赖项跟踪跨度?
问题描述
我正在学习如何通过所有微服务跟踪我的分布式进程。我一直在使用 Sleuth、Zipkin 和不同的微服务,效果非常好!但是当我尝试在不同依赖项之间交互的项目中做同样的事情时,我无法创建相同的行为。
我想知道,是否可以使用依赖项创建与微服务相同的行为?
解决方案
以@MarcinGrzejszczak 的输入为参考,我使用自定义跨度解决:
Span remoteDependency = tracer.nextSpan()
.name("dependency_name")
.start();
来自哪里tracer
的自动装配对象Trace
:
@Autowired
private Tracer tracer;
两个类都在brave
包中
import brave.Span;
import brave.Tracer;
结果:
如果您想更详细地查看实现,这里是示例:https ://github.com/juanca87/sample-traceability-microservices
推荐阅读
- c - 是否可以仅在 C 中使用 int 类型将 3.005 添加到 4.70?
- c# - C# .csproj 构建问题
- python - 多处理返回多个值
- ruby-on-rails - Brew 更新中断“Rails s”(Open SSL + LoadError - 找不到类 Digest::SHA1 的库 — digest/sha1)
- python - Django 3 - 为主键提供默认值时的 Model.save()
- mysql - 在同一行选择今年和上一年的mysql
- c++ - 使用 Qt 在 Eclipse 中未定义对 MainFrame 的 vTable 的引用
- node.js - Heroku - Mongoose、Node.Js 项目的部署引发 H10 错误
- c++ - 将 C++ Dll 加载到 vb.net 应用程序中
- error-handling - HTTP 错误 403:禁止访问:访问被拒绝