Stefan Hajnoczi wrote: > This patch adds LTTng Userspace Tracer (UST) backend support. The UST > system requires no kernel support but libust and liburcu must be > installed. > > $ ./configure --trace-backend ust > $ make > > Start the UST daemon: > $ ustd & > > List available tracepoints and enable some: > $ ustctl --list-markers $(pgrep qemu) > [...] > {PID: 5458, channel/marker: ust/paio_submit, state: 0, fmt: "acb %p > opaque %p sector_num %lu nb_sectors %lu type %lu" 0x4b32ba} > $ ustctl --enable-marker "ust/paio_submit" $(pgrep qemu) > > Run the trace: > $ ustctl --create-trace $(pgrep qemu) > $ ustctl --start-trace $(pgrep qemu) > [...] > $ ustctl --stop-trace $(pgrep qemu) > $ ustctl --destroy-trace $(pgrep qemu) > > Trace results can be viewed using lttv-gui. > > More information about UST: > http://lttng.org/ust > > Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxxxxxxxxxx> > --- > I wrote this as part of trying out UST. Although UST is promising, the > usability is poor at the moment. I was hoping it would be better, but I'm not really surprised. > > The dependencies include the lttv trace viewer which I had to build from source > (and it required a makefile tweak to build). Luckily libust, liburcu, and > ust-bin are packaged on my distro. > > Error messages are periodically printed by the UST code when running QEMU. I > haven't investigated but this is may be due to signals interrupting UST's > thread in poll(). > > Finally, the UST header files include some userspace ported kernel > infrastructure and pollute the namespace. I had to add some #undefs to get > QEMU to build after including UST headers. > > I don't see LTTng UST as a default option at the moment. Hopefully this will > change in the future. Unless you already did, please report this to LTTng. I bet they will be interested in your feedback and maybe also in the fact that they gained another use/test case. Jan
Attachment:
signature.asc
Description: OpenPGP digital signature