From mboxrd@z Thu Jan 1 00:00:00 1970 From: mjw@redhat.com (Mark Wielaard) Date: Tue, 15 Feb 2011 18:03:05 +0100 Subject: [ltt-dev] LTTng-UST vs SystemTap userspace tracing benchmarks In-Reply-To: <4D5AA164.1050607@polymtl.ca> References: <4D5AA164.1050607@polymtl.ca> Message-ID: <1297789385.3224.46.camel@springer.wildebeest.org> 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. Thanks, Mark