【发布时间】:2020-04-14 02:48:46
【问题描述】:
先决条件:Node.js 应用程序Opencensus 库Zipkin Exporter 和本地 Zipkin 服务
app.js:
const tracing = require('@opencensus/nodejs');
const zipkin = require('@opencensus/exporter-zipkin');
const ZIPKIN_ENDPOINT = process.env.ZIPKIN_ENDPOINT || "http://localhost:9411";
const options = {
url: `${ZIPKIN_ENDPOINT}/api/v2/spans`,
serviceName: 'MyApplication'
}
const exporter = new zipkin.ZipkinTraceExporter(options);
tracing.start({'exporter': exporter});
...
app.use(..)
...
package.json:
"dependencies": {
"@opencensus/exporter-zipkin" : "0.0.19",
"@opencensus/nodejs" : "0.0.19"
...
Zipkin 使用以下命令在本地启动服务器:
docker run -d -p 9411:9411 openzipkin/zipkin
在触发/service1 Zipkin Ui 后显示 2 个 span 对应 2 个不同的请求:
在 Node.js 路由器中配置的第一个 /service1 传入请求
第二个/external_service_2 是对外部服务的后续调用
问题
问题是在触发/service1 后:
1. Zipkin UI 显示 2 个名称相同的跨度 MyApplication(见图),
但预期有 2 个不同的跨度名称
【问题讨论】:
-
我添加了一个答案,有用吗?
-
@Tamas 是的,谢谢
-
很高兴能帮上忙!
标签: node.js zipkin opencensus