{"action":"created","issue":{"url":"https://api.github.com/repos/openzipkin/zipkin/issues/923","repository_url":"https://api.github.com/repos/openzipkin/zipkin","labels_url":"https://api.github.com/repos/openzipkin/zipkin/issues/923/labels{/name}","comments_url":"https://api.github.com/repos/openzipkin/zipkin/issues/923/comments","events_url":"https://api.github.com/repos/openzipkin/zipkin/issues/923/events","html_url":"https://github.com/openzipkin/zipkin/issues/923","id":129221202,"number":923,"title":"Track indirect service dependencies","user":{"login":"yurishkuro","id":3523016,"avatar_url":"https://avatars.githubusercontent.com/u/3523016?v=3","gravatar_id":"","url":"https://api.github.com/users/yurishkuro","html_url":"https://github.com/yurishkuro","followers_url":"https://api.github.com/users/yurishkuro/followers","following_url":"https://api.github.com/users/yurishkuro/following{/other_user}","gists_url":"https://api.github.com/users/yurishkuro/gists{/gist_id}","starred_url":"https://api.github.com/users/yurishkuro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurishkuro/subscriptions","organizations_url":"https://api.github.com/users/yurishkuro/orgs","repos_url":"https://api.github.com/users/yurishkuro/repos","events_url":"https://api.github.com/users/yurishkuro/events{/privacy}","received_events_url":"https://api.github.com/users/yurishkuro/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-01-27T17:57:07Z","updated_at":"2016-05-11T17:14:38Z","closed_at":null,"body":"Imagine a case where some routing layer like haproxy is adding its own spans to passing-through traces. This makes the dependency graph not very interesting, as instead of `a->b` links, for any  pair of `a` and `b`, we would get `a->haproxy` and `haproxy->b`. Such edges have merit, but they completely lose the `a->b` dependency, even though the data in the spans has it.\r\n\r\nWe can extend the dependencies data structure to still allow links `a->b` to be present, but marked as \"indirect\". The UI can be extended to toggle between showing/hiding indirect links.\r\n\r\nOr maybe there's even better way, open to suggestion. For example, when you mouse-over a service in the diagram, it dims unconnected services and highlights directly connected ones. For service A above it would highlighght `haproxy`, but dim B. It would be nice in that mode to also show 2-hops services, e.g. highlight B as well, but in different color."},"comment":{"url":"https://api.github.com/repos/openzipkin/zipkin/issues/comments/218526842","html_url":"https://github.com/openzipkin/zipkin/issues/923#issuecomment-218526842","issue_url":"https://api.github.com/repos/openzipkin/zipkin/issues/923","id":218526842,"user":{"login":"eirslett","id":1872593,"avatar_url":"https://avatars.githubusercontent.com/u/1872593?v=3","gravatar_id":"","url":"https://api.github.com/users/eirslett","html_url":"https://github.com/eirslett","followers_url":"https://api.github.com/users/eirslett/followers","following_url":"https://api.github.com/users/eirslett/following{/other_user}","gists_url":"https://api.github.com/users/eirslett/gists{/gist_id}","starred_url":"https://api.github.com/users/eirslett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eirslett/subscriptions","organizations_url":"https://api.github.com/users/eirslett/orgs","repos_url":"https://api.github.com/users/eirslett/repos","events_url":"https://api.github.com/users/eirslett/events{/privacy}","received_events_url":"https://api.github.com/users/eirslett/received_events","type":"User","site_admin":false},"created_at":"2016-05-11T17:14:38Z","updated_at":"2016-05-11T17:14:38Z","body":"There are also a couple of other \"valid\" cases for not having a DAG, for example, at FINN.no we have something like this:\r\n\r\nvarnish -> finn.no -> varnish -> api -> database\r\n\r\nThe underlying Spark job doesn't assume a DAG, that's only our UI. So we could rewrite it with another JavaScript library than dagre/d3, but it would take some work. (PRs welcome, I suppose?)"}}