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]

Re: Systemtap userspace probing: status and roadmap?


On Tue, 2008-11-04 at 19:31 +0100, Stefano Doni wrote:
> Hi guys,
>     first of all let me thank you for the efforts you give on this
> wonderful tool! I'm a great fan of this project and of this kind of
> tools in general, since I have a passion for performance analysis,
> testing and tuning. I often read that the you are willing to hear some
> feedback about what user wants, so I thought it would be nice to ask
> you some question and share some whishes that a user can have about
> such a good tool.
> 
> I would like to know what is the current status of Systemtap user
> space probing and what is the future roadmap (if such a thing exists).
> For example, man stapprobes in my Ubuntu Intrepid tells me that only
> "early prototype support" for user space probing is available.

SystemTap does user-space probing the same way it does kernel probing:
by generating and inserting a kernel module that implements the desired
implementation.  Just as subsystems like kprobes and markers provide the
infrastructure for kernel probing, utrace and uprobes provide the
infrastructure for user-space probing.  A SystemTap script can include
both kernel and user-space probes.

Utrace-based probes are described under the heading "USER-SPACE" in
stapprobes(5).  To probe a particular function or statement in a user
program (i.e., using uprobes), you can do stuff like
	probe process("/path/to/executable").function("funcname") ...
You can also probe function returns by adding ".return" to the probe
specification.

Uprobes depends on utrace.  Neither utrace nor uprobes are in Linus's
kernel.  Utrace is included with RHEL 5, or you can get a utrace patch
for your kernel.org kernel at http://people.redhat.com/roland/utrace/ .
Uprobes is packaged with SystemTap, in runtime/uprobes*/; stap will
automatically build and insert uprobes.ko if your script uses uprobes
(but again, you must be running a utrace-enabled kernel).

Our intention is certainly for utrace and uprobes to be accepted
upstream eventually, but I won't try to predict how/when that will
happen.  Uprobes in particular is about to undergo some rework.

Stap has been exploiting uprobes for only a few months, and we're still
shaking out the bugs.  In fact, the 2.6.27-compatible version of uprobes
was added to SystemTap just this week.  You're welcome to give it a try.

Jim Keniston
IBM Linux Technology Center
uprobes maintainer


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