我们正在尝试跨多个 node.js 微服务设置跟踪。
node v10.14.2
google-cloud/pubsub v0.19.1
google-cloud/trace-agent v3.5.0
服务获得了 http 端点和 pubsub 集成。所有服务都通过 pubsub 相互通信。
Trace-agent 正确获取 http 请求和所有其他跟踪(即 mysql 和 pubsub.publish)。
但是,当服务在 pubsub 订阅上收到消息时,trace-agent 什么也看不到。
其他跟踪(mysql 和 pubsub.publishing)在第一次通过 pubsub.subscription 发出请求时也不会被拾取。
我们正在使用正在侦听消息的请求订阅:
subscription.on('message', processMessage);
如何启用 trace-agent 来获取那些通过 pubsub 订阅进行的跟踪?
更新 1:
启用日志以包含调试消息,start({ logLevel: 4 });
发现有很多跟踪消息,但未附加到根跨度:'Creating phantom child span because there is no root span.'