[lttng-dev] Beginner question: how to inspect scheduling of multi-threaded user application?
Jonathan Rajotte Julien
Jonathan.rajotte-julien at efficios.com
Fri Sep 16 17:36:36 UTC 2016
Hi
On 2016-09-16 07:43 AM, David Aldrich wrote:
> Hi
>
> I wonder if I might ask for some more guidance please?
>
> I now have lttng and Trace Compass running on Ubuntu. I want to inspect the scheduling of threads in my user-space application. So far, I have successfully captured a trace with the sched_switch event enabled:
>
> $ sudo lttng enable-event -k sched_switch
>
> This indeed shows my app's threads. However, it also shows all the other threads in the system and does not show clearly (to my understanding) when the threads are scheduled / blocked.
>
> I would like some guidance on how to improve this tracing.
>
> 1) Would it be better if I defined my own “tracepoint providers” and then set trace events for when a thread wakes / blocks?
Could be a solution but you might want the built-in utility of lttng to
filter out all noise first using the filtering feature.
e.g I'm interested in sched_switch event where chrome is involved
lttng create
lttng enable-event --kernel "sched_switch" --filter 'prev_comm ==
"chrome*" || next_comm == "chrome*"'
lttng start
....
Using TraceCompass you will be mainly interested in the Control Flow
View and the Resource view (show per cpu timeline activity).
>
> 2) How could I show which core a thread is running on?
The Resource view from TraceCompass should help here.
Cheers
>
> Best regards
>
> David
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Jonathan R. Julien
Efficios
More information about the lttng-dev
mailing list