Tuesday, 24 December 2019

Zipkin (Opencensus) - 2 Spans with same names instead of different

Prerequisites:
Node.js application
Opencensus library
Zipkin Exporter and local Zipkin service

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 server started locally with command:

docker run -d -p 9411:9411 openzipkin/zipkin

after triggering /service1 Zipkin Ui displays 2 spans for 2 different requests:
first /service1 incoming request that is configured in Node.js routers
second /external_service_2 is subsequent call to external service

Problem

The problem is that after triggering /service1:
1. Zipkin UI displays 2 spans with same name MyApplication(see image),
but expected 2 different span names
enter image description here

2. As far Zipkin UI displays 2 spans with same name,
service dependencies page contains one Service only(see image) enter image description here



from Zipkin (Opencensus) - 2 Spans with same names instead of different

No comments:

Post a Comment