[lttng-dev] Tracing peak size of the running queue

Gerlando Falauto gerlando.falauto at keymile.com
Wed Nov 30 10:19:29 EST 2011


Hi all,

I am currently using lttng 0.226, and lttv 0.12.38, trying to understand 
the behavior of a system with many concurrent threads, which sometimes 
gets to CPU saturation and timeouts. This could be due to a problem 
either with the scheduler or with the way tasks interact with each 
other, I believe.

I thinkg it might be useful if I could get some representation 
(graphical or otherwise) about the number of RUNNable tasks at any given 
time to get an idea of how much contention is ongoing on the CPU.

So I guess something like the following information:
- peak measurement of the running queue length
- max/mean task latency (i.e. time from the task enters the running 
queue to the time it actually gets the CPU)
- cpu distribution among tasks
when measured over a given time window, might help a lot understand 
these problematic scenarios.

I noticed how you can get some rough information by guihistogram (but I 
understand than only graphs the density of events in the trace) and some 
overall statistics through libguistatistics, but that only relates to 
the overall trace, if I understand it correctly.

I think the above information could be so useful that I am surprised 
lttng does not provide it out of the box. After all, ALL scheduling 
events are traced so it should trivially be a matter of displaying this 
data.

My question is then: is the information I'm looking for completely 
nonsense, or could it easily be obtained somehow (and I just can't find 
the right button)?

Thank you!
Gerlando



More information about the lttng-dev mailing list