Might help if I told you what OS and all that stuff. The bits are standard
from onnv.sfbay...

# uname -a
SunOS jlaptop 5.11 onnv-gate:2008-11-28 i86pc i386 i86pc
# cat /etc/motd
Sun Microsystems Inc.    SunOS 5.11    onnv-gate:2008-11-28    January 2008
bfu'ed from /export/home/archives/i386/nightly-nd on 2008-11-28
Sun Microsystems Inc.    SunOS 5.11    snv_103    November 2008
# cat /etc/release
                  Solaris Express Community Edition snv_103 X86
           Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 17 November 2008

Jim
---
James Litchfield wrote:
> What's going on?
>
> # dtrace -s iotime_all.d 100
> dtrace: failed to enable 'iotime_all.d': DIF program content is invalid
>
> The errant script....
>
> #pragma D option quiet
>
> BEGIN
> {
>     stime = timestamp;
>    io_count = 0;
> }
>
> io:::start
> /args[2]->fi_pathname != "<none>"/
> {
>     start[pid, args[2]->fi_pathname, args[0]->b_edev, 
> args[0]->b_blkno, args[0]->b_bcount] = timestamp;
>    self->pid = pid;
>    self->name = args[2]->fi_pathname;
>    self->size = args[0]->b_bcount;
> }
> io:::start
> /args[2]->fi_pathname != "<none>"/
> {
>     start[pid, args[1]->dev_pathname, args[0]->b_edev, 
> args[0]->b_blkno, args[0]->b_bcount] = timestamp;
>    self->pid = pid;
>    self->name = args[1]->dev_pathname;
>    self->size = args[0]->b_bcount;
> }
>
> io:::done
> /start[self->pid, self->name, args[0]->b_edev, args[0]->b_blkno, 
> self->size]/
> {
>     this->elapsed = timestamp - start[self->pid, self->name, 
> args[0]->b_edev, args[0]->b_blkno, self->size];
>    printf("%5u %10s %58s %2s %8u %8u %3d.%03d\n", self->pid, 
> args[1]->dev_statname,
>            self->name, args[0]->b_flags & B_READ ? "R" : "W",
>            args[0]->b_bcount, self->size,
>            this->elapsed / 1000000, (this->elapsed / 1000) % 1000);
>    start[self->pid, self->name, args[0]->b_edev, args[0]->b_blkno, 
> self->size] = 0;
>    self->pid = 0;
>    self->name = 0;
>    self->size = 0;
>    io_count++;
> }
> io:::done
> /io_count > $1/
> {
>     printf("Elapsed Time: %u seconds\n\n", (timestamp - stime) / 
> 1000000000);
>    exit (0);
> }
>
>

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to