[ltt-dev] LTTng-UST vs SystemTap userspace tracing benchmarks

Mark Wielaard mjw at redhat.com
Tue Feb 15 12:03:05 EST 2011

On Tue, 2011-02-15 at 10:53 -0500, Julien Desfossez wrote:
> The purpose of this benchmark is to compare the performance for
> userspace tracing of SystemTap and LTTng-UST. The goal is to show that
> the two tools are complementary since SystemTap doesn't seem to be able
> to handle tracing applications with a high throughput of trace data.

Yeah, the more "natural" way for someone using SystemTap would be to
write probe handlers that can check some logic conditions about the
probe environment and/or keep statistics instead of just dumping output
whenever a probe is being hit.

> UST 0.11, hooking on user-space Tracepoints

Can UST user-space tracepoints hook onto systemtap sdt user space
markers? That would be ideal since then programs need to be instrumented
only once. That is why the systemtap sdt markers are source compatible
with the dtrace macros, so you can just reuse any that are already
there. gdb is also adding support for using them now, so that you can
also just put a "normal" breakpoint on them and use them in the context
of a gdb debugging session.

> SystemTap 1.2-5 (from Debian package), hooking on DTrace user-space
> static markup.
> * SystemTap probe (stap testutrace.stp -F) :
> probe process("./.libs/tracepoint_benchmark").mark("single_trace") {
>     printf("%d : %s\n", gettimeofday_ns(), $arg1);
> }

Does it matter what you put in the printf statement? The formatting and
getting the date stamp might impact performance of course. If the goal
is just to see how many probes are being hit, then you could also use a
simple counter instead of a printf statement in the probe handler.



More information about the lttng-dev mailing list