我们正在尝试在多个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什么也看不到。
在第一次通过pubsub.subscription发出请求时,其他跟踪(mysql和pubsub.publishing)也没有被拾取。
我们正在使用请求订阅来监听消息:
subscription.on('message', processMessage);
如何使跟踪代理能够拾取通过pubsub订阅发送的跟踪?
更新1:
已启用日志,以包含带有start({ logLevel: 4 });
的调试消息
并发现有很多跟踪消息,但没有附加到根跨度:'Creating phantom child span because there is no root span.'