[lttng-dev] LTTng unreliable and useless under heavy loaded systems?

Raphael Zulliger zulliger at indel.ch
Fri Jan 23 03:09:01 EST 2015


On 01/16/2015 09:24 PM, Mathieu Desnoyers wrote:
> If you care about not overwriting your buffers under heavy load, I
> recommend to issue "lttng stop; lttng snapshot record" in order to
> stop tracing before gathering the snapshot. This would lessen the
> chances to overwrite your important trace data due to your heavy
> load.
Yeah, that perfectly makes sense. I tried this and it indeed helped to 
not loose a single trace anymore! (without 'lttng stop' some 'snapshots' 
still didn't contain what I was interested in). For the records, this is 
how I currently use LTTng:

     lttng create --snapshot victory
     lttng enable-channel channel0 -k --subbuf-size 16M --num-subbuf 2
     lttng add-context -k -t procname -c channel0
     lttng enable-event -k --all -c channel0
     for i in $(ps -mo tid -p `pgrep lttng-consumerd` | grep -v "TID" | 
grep -v "-"); do sudo chrt -f -p 50 $i; done
     lttng start

     chrt -f 50 ./run_my_test-application_here # this app (programmed in 
C/C++) performs a 'system("lttng stop; lttng snapshot record; lttng 
start");' whenever a certain jitter is reached

     lttng stop
     lttng destroy


I guess the line:
     for i in $(ps -mo tid -p `pgrep lttng-consumerd` | grep -v "TID" | 
grep -v "-"); do sudo chrt -f -p 50 $i; done
wouldn't be necessary anymore (with 'lttng stop') but I didn't try that.

Cheers,
Raphael



More information about the lttng-dev mailing list