search for: probefunc

Displaying 20 results from an estimated 43 matches for "probefunc".

2006 Sep 12
3
dtrace reports different counts depending on what is being traced
...ck or mutex_unlock or not. The number reported when we are not tracing mutex_lock or mutex_unlock is higher. What could be going on here and which one is the correct number. This is on S10 U2. Thanks, Rao. #!/usr/sbin/dtrace -qs syscall::yield:entry /execname=="rrcpd"/ { @[probefunc]=count(); } pid$1:libc:lwp_yield:entry { @[probefunc]=count(); } pid$1:libc:mutex_lock:entry { @[probefunc]=count(); } pid$1:libc:mutex_unlock:entry { @[probefunc]=count(); } tick-10s { exit(0);} 2345 x4100-240-02 /export/home/dtrace/PIT > ./yield_lwp_count.d `pgrep...
2011 Jan 05
0
dtrace-discuss Digest, Vol 69, Issue 2
...your calls, for example, in which case you might expect a wide difference with functions that don''t. I''ve annotated your code to show what you''re actually doing: pid$1:libswduar::entry { // Associative array indexing timestamps by function call duarEntry[probefunc] = timestamp; // Aggregation to count each function invoked @duarCount[probefunc] = count(); } pid$1:libswduar::return { // Compute elapsed time in milliseconds this->elapsed = (timestamp - duarEntry[probefunc])/1000000; // Quantize elapsed time per function...
2006 Feb 17
3
CPU time stats
hi, I am trying to find out the avg cpu time spent in each of my user methods (exclusive of other methods invoked by a method). Hence the following snippet failed miserably: ----------------------- pid$target:a.out::entry { time[probefunc] = timestamp;} pid$target:a.out::return { @spent[probefunc] = avg(timestamp - time[probefunc]);} END { printa(@spent);} --------------------------------- Sample process int g(){} int f2(){g();} int f(){f2();g();} int main() { f(); } ------------------ sample output: g...
2008 May 20
6
Dtrace queries - predicates & func arg tracing
...n of those modules alone (by excluding the 3rd party and system libraries). I tried the below script without success. The conditional given in the predicate is not taking effect. Why is this so ? $ dtrace -ln ''pid$target::: /probemod!="libc.so.1"/ { printf("%s ----- %s",probefunc, probename); } '' -p `pgrep a.out` Similar is the case for the below script, I expect only the entry points to be printed but all the probes in a.out are being printed. $ dtrace -ln ''pid$target:a.out:: /probename=="entry"/ { printf("%s ----- %s",probefunc, prob...
2007 Jul 11
5
Error trying to count return points in functions.
...given function to return, I have bumped into an error I don''t understand. The first take on what I was trying to do was: # dtrace -n ''fbt:ip:ip_input:return{@home[arg0] = count();}'' and all was well. The next step was: # dtrace -n ''fbt:ip::return{@home[strjoin(probefunc,(string)arg0)] = count();}'' but the output was not quite so friendly: dtrace: description ''fbt:ip::return'' matched 1653 probes dtrace: error on enabled probe ID 1574 (ID 23867: fbt:ip:ip_loopback_src_or_dst:return): invalid address (0x30) in action #2 at DIF offset 48...
2009 Mar 20
1
suspicious dtrace results
...windent syscall::pread:entry { self->trace = 1; self->size = arg2; } syscall::pwrite:entry { self->trace = 1; self->size = arg2; } fbt:ssd:ssdread:entry /self->trace/ { self->start = timestamp; self->minor = getminor(arg0); } fbt:ssd:ssdread:return /self->start/ { @avrg[pid,probefunc,self->minor,self->size] = avg((timestamp - self->start) / 1000); @numbers[pid,probefunc,self->minor,self->size] = count(); self->start = 0; } fbt:ssd:ssdwrite:entry /self->trace/ { self->start = timestamp; self->minor = getminor(arg0); } fbt:ssd:ssdwrite:return /self->...
2011 Jan 05
0
Understand the dtrace quantize output
...me function calls in our application library , Wanted to know how to interpret the output from quantize of the elapsed time in each function call , here is a sample Here is the entry and return function for the library that is being traced pid$1:libswduar::entry { duarEntry[probefunc] = timestamp; @duarCount[probefunc] = count(); } pid$1:libswduar::return { this->elapsed = (timestamp - duarEntry[probefunc])/1000000; @totduarTime[probefunc] = quantize(this->elapsed); duarEntry[probefunc] = 0; } LdapSearchRequest va...
2006 Mar 01
3
vtimestamp skew, after restorectx()
...round this? Jim ------------------------------- #!/usr/sbin/dtrace -s #pragma D option flowindent #pragma D option bufsize=4m syscall::ioctl:entry /arg1 == 0xDF07/ { self->level=0; self->start = vtimestamp; } :::entry /self->start/ { self->level++; ts[probefunc]=vtimestamp; trace(self->level); trace(vtimestamp - self->start); } :::return /self->start/ { self->level--; trace(self->level); trace(vtimestamp - self->start); trace(vtimestamp - ts[probefunc]); } syscall::ioctl:return /self->...
2006 Sep 21
2
Probe description does not match any probes
[Perhaps someone could rename this list to dtrace-matt-problems-discuss?] If I run this script against my binary (which contains a USDT probe called ''concurrentq-latency''): ::: / probename == "concurrentq-latency" / { printf("[%s]:[%s]:[%s]\n", probeprov, probefunc, probename); } I get this output: dtrace: script ''testq.d'' matched 46056 probes dtrace: pid 26257 has exited CPU ID FUNCTION:NAME 2 46076 dequeue_thread:concurrentq-latency [tests26257]:[dequeue_thread]:[concurrentq-latency] However, if I try to specif...
2006 May 24
2
Reading external files with dtrace
I''d like to be able to dynamically read external configuration files within a dtrace script. I know dtrace allows inclusion of C header files but only at the preprocessing stage. What we need to do is dynamically enable/disable probes based on current application settings. I''d rather not have a bunch of independant scripts running and being started and killed whenever the
2008 Sep 30
12
dtrace missing ''unlinkat''? showing process stack?
everyone, Just out of curiosity, I did a dtrace -n ''syscall:::entry { @num[execname, probefunc] = count(); }'' and looked at the entries produced by ''rm''. I see everything that rm did, *except* the unlinkat - which is unfortunate because I want to trace which processes have deleted which files. So - does dtrace contain unlinkat as a probe for a system call? Als...
2006 Mar 03
10
CiscoWorks 2.5 Install on Solaris 10
I''m trying to install CiscoWorks 2.5 on Solaris 10 update 1, and after the install when I try to start the daemon, it errors: # /opt/CSCOpx/objects/dmgt/dmgtd.sol ERROR: open file dmgtd failedERROR >>>>>>>>>>>>> open msg catalog failed. NLSPATH incorrect or objects/share/nls/C/dmgtd.cat is missing. # echo $NLSPATH
2006 Jul 10
5
Definition of "anchored" and "unanchored" probes
Referring to the DTrace manual: "Module If this probe corresponds to a specific program location, the name of the module in which the probe is located. This name is either the name of a kernel module or the name of a user library. Function If this probe corresponds to a specific program location, the name of the program function in which the probe is located." and then ...
2007 Feb 15
2
profile provider: is it me doing stupid things?
...jor misunderstanding of myself. Would appreciate another (expert) look upon this. The goal we try to achieve is trying to get insight if there is a bursty nature in the time slot when system calls are done. Following DTrace snippet is tried: dtrace -q -p 3173 -n ''syscall::read:entry { @[probefunc] = count(); } profile:::tick-250ms { printa("%6s %@6d\n", @); printf("\n"); clear(@); }'' This to chop up a one second interval into four different equal sized 250 millsec slots. Counting the number of read and write syscalls that fall in each slot. This one is run a...
2007 Jun 29
1
dtrace and Xorg don''t always mix
I''m wondering if I should file a bug against this or is this just a case of a user doing something stupid :) I ran the following script on my desktop: #!/usr/sbin/dtrace -s pid9276:::entry { @counting[probefunc] = count(); } And my Xsession immediately crashed and through me back to the login screen. My OS is 5.11 snv_50 i86pc i386 i86pc with a dual core amd chip and 2G or memory. pid 9276 was Xorg, in case you couldn''t guess. So is this something that dtrace could/should have prevented or i...
2009 Feb 18
4
tracing aio syscalls
Hi all, Is there some documentation or some example on how to interpret the arg0 .. arg<n> for the aioread, aiowrite, aiowait syscalls? The system call name for all three seems to be "kaio". Michael === Michael Mueller ================== Tel. + 49 8171 63600 Fax. + 49 8171 63615 Web: http://www.michael-mueller-it.de ======================================
2008 Sep 09
1
DTrace and shared memory id
...ize = arg1; self->flags = arg2; self->shmgettimestamp = timestamp; self->shmgetvtimestamp = vtimestamp; } fbt::shmget:return / self->shmgettimestamp / { /* operation key shmid size flags cpu wall */ printf("%-10s %-10x %-10x %-10d %-10d %-10d %-10d\n", probefunc, self->key, arg1, self->size, self->flags, vtimestamp - self- >shmgetvtimestamp, timestamp - self- >shmgetti...
2007 Mar 09
4
USDT probe issues in C++
...be able to do is aggregate on the 2nd level entry up in the stack. Doesn''t appear to be a way to get a string back out of the ustack for an arbitrary call level that I could then put into an aggregation. Tried using the ufunc(uregs[R_PC]) but that''s just giving me the same as probefunc and in a form I can''t seem to print out in a composite aggregate. stack: layout-start trace-layout-entry() [extern C wrapper func] <C++ function from which trace-layout-entry() is being called and whose name we''d like to have access to> Firing Exit probes reliably in C++...
2009 Mar 28
4
mac_srs_rx_poll_ring thread never stop polling hardware in kernel
...0 0 155 0 1 0 99 2 0 0 0 4 1 0 0 0 0 0 0 0 100 0 0 3 0 0 0 67 34 70 0 2 0 0 38 0 0 0 100 What is the cpu 2 doing? dtrace -n ''fbt:::entry/cpu==2/{@[probefunc]=count();}'' shows following output: ........... ddi_fm_acc_err_clear 416312 ddi_fm_acc_err_get 416312 ixgbe_check_acc_handle 416312 ixgbe_check_dma_handle 416312 ixgbe_ring_tx 416312 ixgbe_...
2005 Nov 15
6
Oracle 9 process on Sol 10 container, doing a pollsys, using high CPU
We''re running a Solaris 10 container, with an Oracle 9.2.0.4 database - every 5-10 min, an Oracle process shoots up (using 20% + CPU) and then goes down in CPU %, doing a [i]pollsys [/i](see it via dtruss). I tried using some of the trace scripts in the Dtracetoolkit to see what the process is doing, but without any luck - also tried with the following, but dtrace process goes up to 30%