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: DTrace for Linux


On Fri, 2005-12-16 at 11:02 +0800, weikong@redflag-linux.com wrote:

> # BUG 1: The "log" function always throw "segment error", I do not
> konw why. So I "#" them, and add the title in the result

They work fine for me. 

> #        by myself.
> # BUG 2: I can not enter the switch_to function, So I use "schedule"
> instead, but it result may not very precision.

I'll look into this. I saw something about it earlier this week.

> # BUG 3: "delete the global variable", it does not work. Let me so
> sad. 

Can you explain what you are expecting and what it did?

To get the best results, you should probably filter your probes using
something like "if (target() == pid())" or "if (execname == "top"))"


>                 log( string( pid ) . "\t" . string( pid_count[ pid,
> cmd ] ) . "\t" . string( pid_time[ pid, cmd ] ) . "\t\t" . string
> ( pids[ pid, cmd ] ) . "\t\t" . string( pid_time[ pid, cmd ] - pids
> [ pid, cmd ] ) . "\t\t" . cmd )

It would be best to use printf() instead of log().


> probe timer.jiffies( 1000 ) 
> {
>         print_cmpcall( )
>         exit( )
> }

It you use a timer to print out a large amount of information, like you
do here, it will cause some inaccuracy in your data due to the data
structures being locked for a long time while they are printed.  If you
are only going to print once, it would be best to simply move the
print_cmpcall() to probe end.




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