openzipkin / zipkin

Zipkin is a distributed tracing system
https://zipkin.io/
Apache License 2.0
16.93k stars 3.08k forks source link

Allow filtering the displayed services in dependency graph #2535

Open shakuzen opened 5 years ago

shakuzen commented 5 years ago

Feedback from LINE's SRE team was that when you have many services, the service graph becomes practically unusable. The ability to filter the displayed services would go a long way in helping this. Users usually want to see the dependencies for their service in particular, or perhaps all subsequent dependencies from an edge service.

Jason from Haystack mentioned that the vizceral library has filtering capabilities built-in, so we could easily leverage that to display a filtered dependencies graph.

bulicekj commented 5 years ago

Filtering without recreating the graph is built into Vizceral, and I believe Lens already has that (the drop down in the top right) but it only greys out nodes not connected with the highlighted one. What you are suggesting we do in Haystack, but unfortunately not via built-in a method. Given a serviceName, we simply filter edge source or destination to include the serviceName and return the new graph. It should still be a fairly easy addition - I would keep the dropdown you guys have and simply do this graph recreation instead of the current highlighting function that it does.

bulicekj commented 5 years ago

maybe something like above ^