Hi Matteo, Thanks for reporting this issue!I understand what you would like to see being visualized, but unfortunately this is different from the implemented generic logic of the visualization model that changes the color at the place of the first event that belongs to the new task. Note that this generic logic is expected to provide adequate visualization for all types of events, while the behavior that you would like to see makes sense only for very specific events.
However, what you want is actually very easy to achieve. You just have to write a kernelshark plugin for funcgraph_exit events. If you are interested in contributing such plugin to kernelshark, I can send you instructions what has to be done. It will be really trivial work.
cheers, Yordan On 9/6/22 12:29, Matteo Bertolino wrote:
Dear community, In order to explain my problem, I need to ask you to have a look to the visual trace in my github (I cannot attach it to the mail nor using an image uploading service): https://github.com/the-red-robin/trace-cmd-experiments/blob/main/README.md In the trace, we have one CPU, CPU0. On it: - `Task3` runs `foo5()` at time 8.000000 cycles - `Task2` takes place running `foo3()` at time 8.010000 cycles. - `Task1` takes place running `foo1()` at time 8.060000 cycles. For now, everything OK. Then, I wish to `exit` the three tasks. - `Task1` exits at 8.090000 cycles. Here the trace does not show what I expect, namely `Task1` (in red) shall end at 8.090000 cycles. Instead, there is a red trace until the beginning of the next exit event, `Task2` at 8.130000. This doesn't seem an `exit` event. Do you have any suggestions to show what I wish on Kernelshark? Best Regards, Matteo