A patch for a bug in the dtrace command...

George Neville-Neil gnn at freebsd.org
Sat Oct 8 00:48:13 UTC 2011


Hi,

I have found that the dtrace command on FreeBSD, in both STABLE and HEAD, does not print out
aggregations properly, likely due to the difference in how Solaris and FreeBSD signals work.
For example, this one liner will give no output:

sudo dtrace -n 'syscall:::entry { @[execname] = quantize(arg0); }'

While is should print this:

dtrace -n 'syscall:::entry { @[execname] = quantize(arg0); }'
dtrace: description 'syscall:::entry ' matched 1028 probes
^C

  nrpe2                                             
           value  ------------- Distribution ------------- count    
               2 |                                         0        
               4 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 12       
               8 |                                         0        

  sshd                                              
           value  ------------- Distribution ------------- count    
               0 |                                         0        
               1 |@@@@@@@@@@                               5        
               2 |@@@@@@@@@@@@@@                           7        
               4 |                                         0        
               8 |@@@@@@@@@@@@@@@@                         8        
              16 |                                         0        

etc.

I have made the following patch, but I'd be interested in people testing and commenting on it.

Best,
George

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dtrace.c.signal.diff
Type: application/octet-stream
Size: 464 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20111008/b1afc6c2/dtrace.c.signal.obj


More information about the freebsd-current mailing list