Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve trace navigation in graph #3361

Closed
jotak opened this issue Oct 28, 2020 · 7 comments · Fixed by kiali/kiali-ui#2047
Closed

Improve trace navigation in graph #3361

jotak opened this issue Oct 28, 2020 · 7 comments · Fixed by kiali/kiali-ui#2047
Assignees
Labels
backlog Triaged Issue added to backlog enhancement This is the preferred way to describe new end-to-end features.

Comments

@jotak
Copy link
Contributor

jotak commented Oct 28, 2020

In the graph trace overlay, when a node is selected, we can navigate through spans that originate from that node:
Capture d’écran de 2020-10-28 09-39-22

This might lead to some misunderstanding & non-obvious navigation, because the trace contains X spans but only a few of them are accessible from there (only the ones that are from the same node).

So, I think it would be more interesting to allow here to navigate, through these "next" / "prev" arrows, within the whole trace and not only within spans of that node. When moving to a span that comes from another node, that would automatically put the focus on it in the graph.

Any objection?

@jotak jotak added the enhancement This is the preferred way to describe new end-to-end features. label Oct 28, 2020
@lucasponce
Copy link
Contributor

So, I think it would be more interesting to allow here to navigate, through these "next" / "prev" arrows, within the whole trace and not only within spans of that node. When moving to a span that comes from another node, that would automatically put the focus on it in the graph.

Any objection?

+1

It sounds good to me.

As a user I guess from here I'd like to have the minimal info to decide if I need to click and navigate into the trace details or as you say, navigate to other trace.

@jotak jotak self-assigned this Dec 15, 2020
@jotak jotak added the backlog Triaged Issue added to backlog label Dec 15, 2020
@jotak
Copy link
Contributor Author

jotak commented Jan 4, 2021

I have started to work on that. I have a question for the graph folks (@israel-hdez @jshaughn and all)
When "navigating" though the trace spans, it will now be possible to show the span details of other graph nodes, not only the node that was selected at first.
Should it imply re-focusing on that node? What would you expect as a user?

E.g. if node "reviews-v1" is selected, and through the trace I display the information of the next span "rating-v1", is it expected that this "rating-v1" node becomes selected for the whole summary panel? Or do we keep the trace/span details disconnected from the overall logic?

@israel-hdez
Copy link
Member

israel-hdez commented Jan 4, 2021

@jotak I'm not familiar to Jaeger and I see counter-intuitive to see all spans. But experienced people may find it better. So, I'm wondering if it's too hard to add a checkbox to let the user decide to see only spans of the selected node, or see all spans of the trace.

Should it imply re-focusing on that node? What would you expect as a user?

Personally, I would expect no re-focusing. I would expect a small message (with an info icon) stating that the span if is for another node. In combination with the checkbox I'm suggesting, IMO this will be a very clear behavior.

@jshaughn
Copy link
Collaborator

jshaughn commented Jan 4, 2021

@jotak My initial feeling is that it will be confusing to re-focus as the user may lose context. But maybe we'll just have to see this in action before we can decide. Another possibility would be some sort of manual click option to re-focus.

@jotak
Copy link
Contributor Author

jotak commented Jan 5, 2021

@jotak I'm not familiar to Jaeger and I see counter-intuitive to see all spans. But experienced people may find it better. So, I'm wondering if it's too hard to add a checkbox to let the user decide to see only spans of the selected node, or see all spans of the trace.

The rationale is to offer a way to "navigate" into the trace. Clicking on graph nodes isn't a good way to do that, because it loses context of the previously selected span.
I agree that it is still a good thing to be able to choose a span related to the selected node.
Perhaps the good solution would be to keep the current list of spans (perhaps displayed differently), and add links to parent and children. Those links would re-focus.

I can make a try with that.

@jshaughn
Copy link
Collaborator

jshaughn commented Jan 5, 2021

add links to parent and children. Those links would re-focus.

That sort of manual re-focus may be the solution.

jotak added a commit to jotak/swsui that referenced this issue Jan 6, 2021
Redesign the trace details panel in graph to allow navigating in a given
trace, from span to span, following parent/children relationships

Fixes kiali/kiali#3361
@jotak
Copy link
Contributor Author

jotak commented Jan 8, 2021

Just for reference, here's an example of trace that illustrate why we should disambiguate "spans on node" versus "parent/children relations" :

                    +                        +
                    |                        |
    NODE A          |   NODE B               |   NODE C
                    |                        |
   +------+         |                        |
   |Span 1|         |                        |
   |start |         |                        |
   +------+         |                        |
      |             |                        |
      |             |                        |
      |             |                        |
      |    +------+ |  +-------+             |
      +--->+Span 2+--->+Span 3 |             |
      |    |send  | |  |receive|             |
      |    +------+ |  +-------+             |
      |             |      |                 |
      |             |      |                 |
      |             |      |      +------+   |   +-------+
      |             |      +----->+Span 4+------>+Span 6 |
      |             |      |      |send  |   |   |receive|
      |             |      |      +------+   |   +-------+
      |             |      |                 |
      |             |      |      +------+   |   +-------+
      |             |      |      |Span 5|   |   |Span 7 |
      |             |      +----->+send  +------>+receive|
      |             |             +------+   |   +-------+
      |    +------+ |  +-------+             |
      |    |Span 8| |  |Span 9 |             |
      +--->+send  +--->+receive|             |
           +------+ |  +-------+             |
                    |                        |
                    +                        +

For instance, if we look at node B, it has 4 spans, but it is clear that in terms of relation the next spans of 4 isn't 5 but 6 (on another node). As well as span 9 is a child of 8 and has no direct relation with any other span from node B.

And all of this, in the graph, would be "compressed" like this:


   +-----+     +-----+     +-----+
   |  A  +---->|  B  +---->|  C  |
   +-----+     +-----+     +-----+

jotak added a commit to jotak/swsui that referenced this issue Jan 13, 2021
Redesign the trace details panel in graph to allow navigating in a given
trace, from span to span, following parent/children relationships

Fixes kiali/kiali#3361
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Triaged Issue added to backlog enhancement This is the preferred way to describe new end-to-end features.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants