[ltt-dev] ltt channel thread safe?

chris meyers chris.meyers.fsu at gmail.com
Wed Aug 4 02:12:26 EDT 2010


To give a bit of context to the problem.  I am using user space ltt to help
profile code.  I have created two events, time_begin and time_end.  The goal
is to allow for logging the runtime of specific code blocks via start()
stop() insertions.

I am having some issues with traces not coming out "correct" on the other
"end".  Let me further explain what I mean by correct and end.

correct
trace_mark(ust, time_begin, "thread %d func %s depth %d extra %s", 0,
__FUNCTION__, 1, __FUNCTION__)
trace_mark(ust, time_end, "thread %d func %s depth %d extra %s", 0,
__FUNCTION__, 1, __FUNCTION__)

end
ust.time_begin: 30208.932264102
(/home/meyers/.usttraces/lappy-20100804020140730811027/28367_5501430910891543571/ust_0),
0, 0, , , 0, 0x0, MODE_UNKNOWN { thread = 1, func =
"memloc_request_response_decider", depth = 1, extra =
"memloc_request_response_decider" }
ust.time_end: 30208.932267455
(/home/meyers/.usttraces/lappy-20100804020140730811027/28367_5501430910891543571/ust_0),
0, 0, , , 0, 0x0, MODE_UNKNOWN { thread = 1, func =
"memloc_request_response_decider", depth = 1, extra =
"memloc_request_response_decider" }

Later on the output looks like this:
ust.time_begin: 30198.142843837
(/home/meyers/.usttraces/lappy-20100804020140730811027/28367_5501430910891543571/ust_0),
0, 0, , , 0, 0x0, MODE_UNKNOWN { thread = 1, func = "ne_worker_thread",
depth = 560296821, extra = "" }

Notice that in the trace_mark() code above I hard coded depth to be 0 and
_str is always __FUNCTION__.

Possible reasons:
* Buffer is being overrun.  I changed the buffer size using the -N and -S
options in usttrace to something > 2 MB (plenty large).
* Channels are not thread-safe?  I have 3 threads of execution in this
example.  All using the ust channel.
* My code is crappy and I am overwriting the lust library buffer?


Also, I am having trouble using any channel other than ust.  Is ust the only
channel available in user space?

Many thanks,
-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20100804/0436241d/attachment-0002.htm>


More information about the lttng-dev mailing list