search for: printa

Displaying 20 results from an estimated 49 matches for "printa".

Did you mean: printk
2005 Dec 22
9
truncating aggregation output only
..., Sometimes I want to run a script for some time and every n second output N top entries. trunc() isn''t suitable here as it also removed keys/values. I want it ''coz over time if I use sum() entries which are normally truncated can actually get to top over a time. Maybe printa() extension, something like: printa(@b[10]) - to output top 10? -- Best regards, Robert mailto:rmilkowski at task.gda.pl
2008 Jul 24
5
printa stddev error
Hi, Searched for similar errors and nothing came up. Anybody know what this is? When using aggregate stddev, and then trying to print it at END, using printa, I get this error: dtrace: processing aborted: Invalid return value from callback avg works fine. Tried on two recent builds of solaris (build 89 and build 94), on two difference sparc systems. Here''s a sample script: #!/usr/sbin/dtrace -Fs profile-1000 { @a["dev" ]= st...
2005 Oct 31
11
Aggregation elements
Howdy, Is there a method to get the number of elements in an aggregation? Are the results stored in an aggregation guaranteed to be in any type of order? Thanks for any insight, - Ryan -- UNIX Administrator http://daemons.net/~matty
2005 Dec 02
4
Formating output.
2006 May 12
10
why dtrace is not quiet?
i''m running the following script: #pragma D option quiet profile:::tick-1sec / ++x >= 15 / { exit(0); } io:::start { @io_size[execname] = sum(args[0]->b_bcount); } on exit, the script prints out the value of @io_size, why? there''s no printa(), and i also specified "D option quiet" (i also tried -q). this seems to happen with any kind of probe: on exit(0) all the associative arrays defined in the script are being written on standard ouput. This message posted from opensolaris.org
2010 Jun 17
9
Monitoring filessytem access
When somebody is hammering on the system, I want to be able to detect who''s doing it, and hopefully even what they''re doing. I can''t seem to find any way to do that. Any suggestions? Everything I can find ... iostat, nfsstat, etc ... AFAIK, just show me performance statistics and so forth. I''m looking for something more granular. Either *who* the
2007 Feb 15
2
profile provider: is it me doing stupid things?
...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 against a process that reads a single characte...
2009 Sep 09
10
dtrace overhead and proper measuring technique
...s->vts = vtimestamp - self->vts; @tsint = sum(this->ts / 1000000); @tsfrac = sum(this->ts % 1000000); @vtsint = sum(this->vts / 1000000); @vtsfrac = sum(this->vts % 1000000); @n = count(); self->ts = 0; self->vts = 0; /*ustack();*/ } END { t = timestamp; printa("elapsed: %@u.%@06ums\n", @tsint, @tsfrac); printa("cpu : %@u.%@06ums\n", @vtsint, @vtsfrac); printa("count : %@u times\n", @n); } [3] startup.html <!DOCTYPE HTML> <html> <body> <script> var t = (new Date()).getTime(); dump("TIME...
2007 Aug 01
2
getting hex out of ints
...to populate hex! Even if i do conversion myself, by doing stuff like: arg&0xF < 10 ? (arg&0xF) + ''0'' : (arg&0xF) - 10 + ''A'' this yeields characters, and there''s no way to convert characters to strings!!!!!!!! STUPID!!! Even if i try printa() of my quantize array, there''s no way to specify the format for the tuple (i.e. the key of the aggregate)... SEEMS LIKE SOMEONE FORGOT A VERY IMPORTANT FEATURE OF DTRACE!!! Any help ? ____________________________________________________________________________________ Got...
2005 Sep 15
10
Can I use printa() for printing multiple agg regations?
...n, > Does that sit well with everyone? Seems fine to me. Just revisiting one of Dragan''s points, though (sorry if I missed the answer) - is there a reason for making this global (via a #pragma) rather than, say, simply providing two functions which print in the different orders? e.g. printa() for sort by sample, printak() for sort by key. My reason for wanting to do both in the same script is that the current printa() ordering is nearly always right; it''s relatively (although very useful in those cases) to order by key. -- Philip Beevers Fidessa Infrastructure Development...
2006 Dec 07
1
When does ufunc/func work?
...t;\nCommand: %s\n", execname); exit(0); } profile-997Hz /arg1 != NULL && pid == $1/ { @u[ufunc(arg1)] = count(); } profile-997Hz /arg2 != NULL/ { @k[func(arg2)] = count(); } END { printf("\nUser functions\n"); trunc(@u, 100); printa(@u); printf("\nKernel functions\n"); trunc(@k, 20); printa(@k); } However, when I profile a run using these scripts, all I get is hexadecimal addresses: User functions 0xd2ef4caa 10 0xd2ef4c78...
2009 Apr 27
4
dtrace : isolating the slow write
Hi Experts, _write value ------------- Distribution ------------- count 4096 | 0 8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1161825 16384 | 2754 32768 |@
2009 Sep 14
1
return from memset on mac osx
...= timestamp; self->vts = vtimestamp; } pid$target::memset:return /self->size/ { @ts = sum(timestamp - self->ts); @vts = sum(vtimestamp - self->vts); @size = sum(self->size); @count = count(); self->ts = 0; self->vts = 0; self->size = 0; } END { printa("elapsed: %@u\n", @ts); printa("cpu : %@u\n", @vts); printa("count : %@u\n", @count); printa("size : %@u\n", @size); } --- fastest mac firefox! http://wagerlabs.com
2008 Nov 12
2
hotuser in multicore system
...etting executed at a given point of time. I have been able to test it to check if it does or doesn''t. I assume it does. This was a query I have about profiling in general. #pragma D option quiet profile:::profile-1001hz /pid == \$target/ { \@pc[arg1] = count(); } dtrace:::END { printa("OUT: %A %\@d\\n", \@pc); } -Shiv
2009 Sep 09
4
usdt probes vs pid$target
...gt;ts / 1000000); @tsfrac = sum(this->ts % 1000000); @vtsint = sum(this->vts / 1000000); @vtsfrac = sum(this->vts % 1000000); @n = count(); self->ts = 0; self->vts = 0; ustack(); } END { t = timestamp; printf("\n\n----------------------\n"); printa("elapsed: %@u.%@06ums\n", @tsint, @tsfrac); printa("cpu : %@u.%@06ums\n", @vtsint, @vtsfrac); printa("count : %@u times\n", @n); } --- fastest mac firefox! http://wagerlabs.com
2011 Jan 18
2
Surprise Thread Preemptions
...curlwpsinfo->pr_pri] = count(); self->preempt = 0; } END { printf("%30s %3s %30s %3s %5s\n", "PREEMPTOR", "PRI","||","PREEMPTED", "PRI", "#"); printa("%30s %3d %30s %3d %5 at d\n", @); } Output: ======= PREEMPTOR PRI || PREEMPTED PRI # dtrace 0 || myprogram 0 1 dtrace 50 || myprogram 0 1 sched -1 || myprogram 0 1 myprogram 0 || dtrace 0 1...
2009 Feb 27
7
Memory usage for C++ Application is growing
Hi , I have c++ server application in solaries 10 . Day by day memory usage is growing i try to find memory leaks with MDB and DTRACE and no leaks found. how can we find reason for growing memory , can we know which memory sigment is cause for growing memory usage Thanks in Advance. Rao -- This message posted from opensolaris.org
2006 Feb 17
3
CPU time stats
...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 13296 __fsr 32679...
2005 Sep 22
0
io provider and files in a forceddirectio mounted filesystem
...: "W"; @countem[args[1]->dev_pathname, args[2]->fi_pathname, self->action ] = count(); @elapsed[args[1]->dev_pathname, args[2]->fi_pathname, self->action ] = sum(timestamp - block[args[2]->fi_pathname, args[0]->b_blkno]); } dtrace:::END { printa("count: %64s %40s %1s %@14d\n", @countem); normalize(@elapsed, 1000); printa("elapsed: %64s %40s %1s %@14d\n", @elapsed); } #------------------------------------------------------------------ The Oracle dbase its files all reside in filesystems. The redo is on a...
2010 May 04
2
sched provider
Hi All, I used the following script from the dtrace manual to measure how long a particular process runs on the cpu. Modified it to look at the exact timestamps: [i] sched:::on-cpu { self->ts = timestamp; printf("on=%d\n", self->ts) } sched:::off-cpu /self->ts/ { printf("off=%d\n", timestamp) self->ts = 0; } [/i] The output looks like this: [i]on=24591 off=24603