-
Notifications
You must be signed in to change notification settings - Fork 513
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
Jaeger UI visualizing span with multiple parents #477
Conversation
e336242
to
5bddd3d
Compare
@everett980 I attached some screenshots of this, Could you please provide me some feedback? Thanks! |
Are there changes to the main timeline, or is the addition only the new icon on the expanded spans? When the span is expanded I would rather show an additional section References, after Tags and Logs, where refs can be shown in a table, with links. That seems more usable than a mouse over pop up. |
There are one change to the timeline, before this PR the "poll" span was only displayed on the first parent, now is showing twice (per each parent) Also an icon to indicate that span has more parents
That was my second choice, and something I was about to ask, if the accordion section is better I can do the change. |
Unless there are some explicit visual indications of a duplicate, I think showing the span twice is very misleading. A span represents some work, this work happened once. I think accordion fits more consistently with the existing design of span details. |
Exactly, that is why I added an icon, any other suggestion on how to handle this?
|
But the icon is only visible when you expand the span. The visual difference needs to exist in the gantt chart itself. Maybe showing the span bar hollow, I don't know, I am not a UX designer. Even hollow bar is not enough imo (also, when the span is visually very short, hollow wouldn't even work). |
Should descendants of spans with multiple references also be duplicated? |
I agree we should show something in the Gantt char (still not sure how ) , also in the left view of the spam, May be something after the operation name? But I think showing the "span" per parent is not too bad, the span preserves his ID, so it is clear that is the same span. If we don't show it duplicated , showing only on the first parent, we are missing the fact that there are other references for that span. |
I definitely think the children should not be repeated. Maybe the multi-parent span should only have full details in one place in the chart, and all other copies of that span (a) shown visually different, e.g. a hollow box, and (b) when expanded just display a link to the first occurrence where full details can be seen. |
Instead of two steps (i.e. displaying a link) - when the duplicate is expanded, it just actually expands the first occurrence and focus on that span? |
it might lead to poor user experience, as the first instance of the span could be far away, so the screen would need to scroll, etc., making the user lose the context. An explicit link avoids that. |
Well good question, this PR does that, but reading the discussion I'm not sure that is a correct way to proceed. The thing is, an span with multiple parents represent more than one path in the trace.
|
I agree with a), for b) Is not less usable need to go to another place to see the full details? |
if you follow that argument, then why not show all children of that repeated span as well. I don't think it plays well. For all practical purposes that span is not really there, as each span has only one true parent (e.g. in OpenTelemetry the parent is enforced, whereas in Jaeger we infer the parent from one or more refs). |
To avoid duplicating spans, could we add two interact-able icons? The first next to the name of the span with multiple references. If there is one other reference, clicking the icon would navigate to its other reference. If there are more than two references, all references but the first would be in a dropdown. Clicking a ref in the dropdown would similarly navigate to the that reference. The second icon would be on any span that is referenced but is rendered with a different parent span. Clicking this icon would navigate to that reference. Likewise this would need to have a dropdown view if it has been referenced by multiple other spans rendered elsewhere. |
I like this idea, I can do the modifications to this PR. |
5bddd3d
to
c753cb2
Compare
Codecov Report
@@ Coverage Diff @@
## master #477 +/- ##
==========================================
+ Coverage 92.79% 92.87% +0.08%
==========================================
Files 194 197 +3
Lines 4702 4757 +55
Branches 1132 1151 +19
==========================================
+ Hits 4363 4418 +55
+ Misses 299 298 -1
- Partials 40 41 +1
Continue to review full report at Codecov.
|
91976dd
to
16252b4
Compare
4495b90
to
c3980a3
Compare
@everett980 is this good to merge? |
@everett980 @yurishkuro What is the status of this? Any other comment that needs to be addressed? Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry this took so long to get to. I left a lot of feedback but each item should be pretty small (except for possible refactoring AccordianReferences
)
Big picture it looks good, thanks for the PR @rubenvp8510!
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferenceLink.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferenceLink.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.css
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.css
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferenceLink.test.js
Outdated
Show resolved
Hide resolved
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
a0d4710
to
1fe2da1
Compare
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
1fe2da1
to
b8b908b
Compare
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
@everett980 Thanks for the review! I think I covered almost all (if not all) the comments/requested changes, except the accordion stuff which I think would be in another PR. |
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
Thanks for the quick turn around! Tomorrow morning I'll re-review (I started to and what I saw so far looks good) and will create the follow up issue for Accordian consolidation. |
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/VirtualizedTraceView.test.js
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx
Outdated
Show resolved
Hide resolved
packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.tsx
Outdated
Show resolved
Hide resolved
}, | ||
{ | ||
refType: 'CHILD_OF', | ||
span: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently it seems safe to treat Boolean(ref.span)
as an indication of a local span reference. transform-trace-data
only populates ref.span
if it is in data.spans
(source)
I don't recall hitting submit feedback (hence the lack of any top-level message to go with it)... but anyway: |
Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍I'll make that follow up ticket now
0751cbd
to
05ffec6
Compare
…ReferencesButton components Signed-off-by: Ruben Vargas <ruben.vp8510@gmail.com>
05ffec6
to
24a3759
Compare
Jaeger UI visualizing span with multiple parents Signed-off-by: vvvprabhakar <vvvprabhakar@gmail.com>
Which problem is this PR solving?
Short description of the changes