You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zipkin.apache.org by GitBox <gi...@apache.org> on 2019/05/27 13:31:07 UTC
[GitHub] [incubator-zipkin] tmichnik1981 opened a new issue #2616: Not all
client to client relations taken into account in 'Dependencies' tree
tmichnik1981 opened a new issue #2616: Not all client to client relations taken into account in 'Dependencies' tree
URL: https://github.com/apache/incubator-zipkin/issues/2616
## Describe the Bug
zipkin: 2.12.9
Some relations between client services are not visible on the graph.
## Steps to Reproduce
We came across two problems when analyzing dependencies.
The first one, when component A (within service 1) calls component B (still within service 1) and then component B calls component C in service 2.
It turned out that only relation B --> C is visible.
I found in **zipkin2.internal.DependencyLinker** a condition causing this problem:
**line: 70**
```
// When processing links to a client span, we prefer the server's name. If we have no child
// spans, we proceed to use the name the client chose.
if (Kind.CLIENT.equals(kind) && !current.children().isEmpty()) {
continue;
}
```
It looks like it's done on purpose but I do not understand why.
Why do we want to skip CLIENT spans which might possess some children?
When I commented out that suspicious condition, the dependency graph was almost correct.
I am saying "almost" because I spotted another thing.
When CLIENT span A calls CLIENT span B and they have the same service name, the link is not built. IMHO it might be visible on the graph as a node with a link to itself.
I found in **zipkin2.internal.DependencyLinker** there is code probably preventing this kind of relations:
**line 127**
```
if (kind == Kind.CLIENT && serviceName != null && !remoteAncestorName.equals(serviceName)) {
///.......//
}
```
[zipkin-sample-spans.txt](https://github.com/apache/incubator-zipkin/files/3223851/zipkin-sample-spans.txt)
## Expected Behaviour
The dependency diagram including all relations.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services