-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[APM] Timeline: Show spans without transaction #22347
Comments
Pinging @elastic/apm-ui |
@simitt @felixbarny Thoughts on implementing this into the design of the Timeline? |
If you don't know the parent of a span, I think it's impossible to even show that span. The transactions/spans are rendered as a tree-structure. When expanding a node, it's direct children are loaded. But if the parent transaction of a span is missing, the spans are not reachable via the tree structure and thus can never be rendered. So we could only add a trace-level warning, similar to #22348. This warning would trigger if we have more spans than expected. The problem is that we could also have more spans than expected when a span is started after it's transaction has ended, which is totally valid. |
I think it's just my copy that's confusing 😕If we intend to inject spans that don't have a transaction into the trace timeline, what should we write? "Span without transaction"? |
We would have no Idea where to put the spans inside the tree, so I don't think we can just "inject" them. |
OK, I see your point about where to inject them in the three - other than in the very start after the root trace, or at the very end, right? |
Yes, so I think it would be rather misleading than helpful to put them there. Also, when we only load child spans on demand, we can never navigate to those. I would avoid an implementation which loads all the spans of a trace at once. This has already lead to problems in other tracing systems, like zipkin. |
See also openzipkin/openzipkin.github.io#80 |
Perhaps this needs to have a wider consensus, but do we agree that the spans without transactions are not useful in the Timeline visualization, and we're not going to do anything special to notify the user that there are more spans available than what's loaded in the visualization? To me it doesn't sound viable to always notify the user when there's more spans than in the |
Ping @simitt @felixbarny 🙂 |
At least I agree 😄
I also agree because the reason for that does not have to be an error condition. It could also be because a span was started after its transaction has ended. |
I agree that we cannot show them. I don't agree though that this would be a viable use case, as we require a |
It does
correct so we just can't display these kinds of spans in any meaningful way |
OK, closing this issue, and we'll start with #22348 instead |
Following a discussion in apm-server about to handle spans that have no transaction, we need to figure out a solution in the UI to keep displaying them but with a note or indication that they're without a transaction.
The text was updated successfully, but these errors were encountered: