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: Evaluating SystemTap for Network Response Times



Nathan DeBardeleben wrote:


I appreciate all the help getting my feet off the ground. What you sent me works perfectly, however, I want to understand it a bit more (of course).

I am glad that I could help.


I guess I have some basic questions about ST. For instance, I tried running the 'top2.stp' David Sperry included in the list and that gives me errors about resolving kernel.syscall.*. I'm guessing it has something to do with a syscall tapset, but where do I go about getting those? And further more, how do I know I need them?

Yes, David's script is using the system calls tapset. You should find it under
/usr/share/systemtap/tapset or /usr/local/share/systemtap/tapset (depend on when you configure the systemtap build)


If you don't find the syscalls.stp under those directory above, try to copy syscalls.stp from
/usr/local/share/systemtap/tapset/2.6.9-24-ELsmp to /usr/local/share/systemtap/tapset


Notice several directories with kernel version name, those mean the syscall tapsets are tested for those kernels, and if you are running one of those kernel, syscalls.stp will be found by systemtap command. In your case, your system probably runs a different kernel. So copy syscalls.stp to the root level of the tapset directory then systemtap will find it. Sorry for the confusion, we are current working on the new system calls tapset which will be much more cleaner.


What really is a 'tapset'? Is it just a collection of useful functions that users might want to call that you put into a nice location so as to keep from copying the code raw into each script that needs it? Or is it something more?

The tapset could be a collection of probe points, a collection of useful functions. For example, the system calls tapset is a collection of probe points for all system calls, it also exports the data may be interested to user such as name, function arguments, trace string etc...



And when I look at David's output it doesn't look like he pointed at an include directory. Just really confused.

When you include a directory with the -I option, you tell systemtap to go look for the tapset in that directory first then go to
/usr/local/share/systemtap/tapset



I know, lots of questions and I'm sure questions that would be in a nice document if this weren't a project under such heavy development.


Thanks all. I apologize for the newbie questions, I'll get there soon. :)

I hope this helps.



-- Nathan Correspondence --------------------------------------------------------------------- Nathan DeBardeleben, Ph.D. Los Alamos National Laboratory Parallel Tools Team High Performance Computing Environments phone: 505-667-3428 email: ndebard@lanl.gov ---------------------------------------------------------------------



Hien Nguyen wrote:

Hi Nathan,

There are actually two seperate files
1. tcp_mon.stp
2. tcp_tapset/tapset.stp

I include in this mail a tar file for those file for your convenience.
Create a tmp directory,
cd tmp, untar the file and run
stap -I./tcp_tapset tcp_mon.stp (as root)

Thanks, Hien.

Nathan DeBardeleben wrote:

Hien Nguyen wrote:

Hi Nathan,

I think what you are trying to achieve could be done with systemtap. I wrote a small script to monitor the tcp traffic a while back (see URL below)
http://sourceware.org/ml/systemtap/2005-q4/msg00302.html


I'm a complete newbie to systemtap, so please explain why when I try and run the example on the link above that you sent me I get this:

[root@kraken1 systemtap]# stap -v tcp_mon.stp
Created temporary directory "/tmp/stapM6VSNS"
parse error: embedded code in unprivileged script
saw: embedded-code at tcp_mon.stp:70:1
1 parse error(s).
Searched '/usr/share/systemtap/tapset/2.6.14-1.1656_FC4smp/x86_64/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.14-1.1656_FC4smp/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.14/x86_64/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6.14/*.stp', match count 1
Searched '/usr/share/systemtap/tapset/2.6/x86_64/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/2.6/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/x86_64/*.stp', match count 0
Searched '/usr/share/systemtap/tapset/*.stp', match count 8
Pass 1: parsed user script and 9 library script(s).
Pass 1: parse failed. Running rm -rf /tmp/stapM6VSNS
[root@kraken1 systemtap]#


Also you say to copy tapset.stp to a directory you create in that post - where do I get tapset.stp?

Sorry for the beginner question :)

-- Nathan
Correspondence
---------------------------------------------------------------------
Nathan DeBardeleben, Ph.D.
Los Alamos National Laboratory
Parallel Tools Team
High Performance Computing Environments
phone: 505-667-3428
email: ndebard@lanl.gov
---------------------------------------------------------------------






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