-
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] Trace timeline: Show message when transactions are missing #25117
Comments
Pinging @elastic/apm-ui |
@elastic/apm-ui I'll assign this to me, as I will create explicit designs for showing this tooltip for either missing and dropped spans as an enhancement over the current solution. |
@sqren Just bringing this issue back up to the surface, but we want to warn/notify the user at trace view level (AFAICT when looking at the referenced issue) that spans are not shown because they have no parent transaction, right? |
Yes. If by trace level you mean in contrast to on transaction/span level. So it should probably be a message at the top or bottom of the trace (but not a tooltip on a specific span/transaction). |
Meaning it's only relevant when viewing the full/root trace view? |
Since we don't know where in the trace the missing transactions belong we don't know if it's relevant or not to display the message in a partial trace. It's probably better to show the message than not, in case the user is expecting some transactions that are missing. |
Right, so displaying the message for the trace whether or not you're viewing the full trace or only a given transaction within the trace. Thanks for the feedback 👍 |
Yes, that sounds right. |
I like it 👍 |
@sqren Updated description with the solution |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Moving back to "Ready" in order to prioritize Profiling integration into Infra. |
I discussed with @kpatticha the scenarios here and the easiest way to verify the spans is to check if the We were also discussing the scenario when a transaction is missing but it's still a parent of a span (so the @elastic/apm-server I have some questions: Is there a way to know if a trace is incomplete and which property should I check? In case there is no way to check on a trace level how do we validate a transaction? I am looking for a way to check that based on the trace data returned. Also, any example of an incomplete trace will be useful. |
This doesn't sound right. The problem I suggest we focus on is when items are dropped by an APM agent, are lost in transit or are still being ingested and are thus not available to be rendered (see example) |
@sqren Thanks for chiming in. so orphans are
What about the use case where the By any chance, do you have a reproducible example ? |
I'm not aware of this use case. I don't see why this would happen unless there is a bug in the APM agent (which we should then fix instead).
Easy: Create a distributed using synthtrace, then manually delete one of the items in the trace. |
Thank you @sqren and @kpatticha!
So we want to show the message if the parent id of any item in the trace is not an id of any other trace item, right? I will try it out and see - probably create a similar case using synthtrace (it was hard to remove an item the last time I tried because once I filtered out a transaction it removed all its children)
Ok, so it's not something I will check for - I was thinking at the beginning that the parent id is not set if a span/transaction is an orphan as it is an optional field but I guess it is not correct. |
…Spans with a parent.id that doesn't exist in the trace (elastic#171196) Closes elastic#25117 ## Summary Add a missing transaction warning if there are Transactions or Spans with a `parent.id` that doesn't exist in the trace. ## Testing - Use the `trace_with_orphan_items.ts` scenario: `node scripts/synthtrace --clean trace_with_orphan_items.ts` - In APM -> Traces there are 2 traces: - <img width="1423" alt="image" src="https://github.com/elastic/kibana/assets/14139027/3548d1dd-d87f-4090-a028-d62cf8ec35c8"> - Check the traces: - Incomplete trace (with warning): - <img width="1401" alt="image" src="https://github.com/elastic/kibana/assets/14139027/a75a2112-a425-43d9-bdd1-b3724ccfe6e3"> - Complete trace (no warning): - <img width="1387" alt="image" src="https://github.com/elastic/kibana/assets/14139027/f33614ab-269b-447c-bd0b-bc00f9799092"> - Unit test in [waterfall_helpers.test.ts](https://github.com/elastic/kibana/pull/171196/files#diff-6cdeaa931c0085a16353ac34f937d442a39e1227621f11b3de0608a39e949fc6)
It can happen that one or more spans are pointing to a transaction that is missing. In this case it is not possible to place the spans on the timeline.
When this occurs a message in the UI should indicating that the data is incomplete.
Design
The text was updated successfully, but these errors were encountered: