Hey all,
This is what we are currently trying. On service 1, we have linkerd running with this config:
admin:
port: 9990
telemetry:
- kind: io.l5d.zipkin
host: <zipkin server DNS>
port: 9410
sampleRate: 1.0
namers:
- kind: io.l5d.consul
host: <consul DNS>
routers:
- protocol: thrift
label: service2
thriftProtocol: binary
dtab: |
/svc => /#/io.l5d.consul/.local/service2;
client:
thriftFramed: false
servers:
- port: 11500
ip: 0.0.0.0
thriftFramed: false
So, all requests from this service for port 11500 goes to the real service via linkerd. There is a linkerd instance running on service2 as will with a similar config, but that proxies requests on a different port to a different service ((via linked):
admin:
port: 9990
telemetry:
- kind: io.l5d.zipkin
host: <zipkin server DNS>
port: 9410
sampleRate: 1.0
namers:
- kind: io.l5d.consul
host: <consul DNS>
routers:
- protocol: thrift
label: service3
thriftProtocol: binary
dtab: |
/svc => /#/io.l5d.consul/.local/service3;
client:
thriftFramed: false
servers:
- port: 11501
ip: 0.0.0.0
thriftFramed: false
(The above are Python thrift services)
When I see the tracing data collected on the zipkin web UI, I see the data for the call to service2 and service 3 separately as separate traces. Now, of course this is something I expect, since there is no way linkerd can make the span from service2-service3 be in a nested span of the call from service1-service2?
If that is correct, how would I go about nesting a lower span in it's outer span via linkerd?
Thanks,
Amit.