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 <[email protected]>
> ---
> 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
signature.asc
Description: OpenPGP digital signature
