This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Using lttng-ust's libringbuffer outside lttng-ust


Over in systemtap land, we're working on implementing a pure userspace
backend, using a project called dyninst (<http://www.dyninst.org/>). As
part of this work, we need to implement a data channel between
systemtap and the target executable(s). Most of the data (print
statement output) flows from probes run in the target back to systemtap.
There is also a need for a control channel the flows from systemtap to
the systemtap runtime present in the target.

I'm looking into the possibility of using libringbuffer from lttng-ust,
which seems like it might fit our needs. Based on my description above
(feel free to ask for more detail), does using libringbuffer make sense?

Assuming it does make sense, I could use some help. Is there any
documentation that I've missed somewhere that describes libringbuffer in
any detail? I've also looked through the test programs in
'lttng-ust/tests' hoping to find a test for just basic libringbuffer
functionality (a standalone producer/consumer), without much luck. (The
code in 'ust-basic-tracing' and 'ust-multi-test' probably comes the
closest.) I started trying to write such a test, but then realized it
made better sense to ask here first.

The next question would be what is the best way of using libringbuffer
outside lttng-ust. One (not great) possibility would be to just copy the
code into systemtap. Of course the problem there is keeping the code up
to date with changes in lttng-ust. The next possibility would be to make
it a separate project (more like userspace-rcu). A bit of work would be
needed here, since while libringbuffer is mostly self-contained, there
is some use of code from 'lttng-ust/lttng-ust-comm' and
'lttng-ust/snprintf' from 'lttng-ust/libringbuffer'.

Thanks for the help.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]