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