| Skip Navigation Links | |
| Exit Print View | |
|
Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual Sun QFS and Sun Storage Archive Manager 5.3 Information Library |
1. User Commands (Man Pages Section 1)
2. Maintenance Commands (Man Pages Section 1M)
3. Library Functions (Man Pages Section 3)
4. Library Functions (Man Pages Section 3X)
5. File Formats (Man Pages Section 4)
NAME
sam_dtrace - SAM-QFS DTrace probes
AVAILABILITY
SUNWqfs SUNWsamfs
DESCRIPTION
The SAM-QFS filesystem supports dynamic tracing with DTrace
probes. More information on the usage of DTrace can be
found at
https://wikis.oracle.com/display/DTrace/Documentation.
The following is a description of the currently implemented
DTrace probes with their arguments. A quick list of SAM-QFS
DTrace probes can be found online by typing:
dtrace -l -m sdt:samfs
sdt:samfs::sam-open-ret
The sam-open-ret probe triggers at the end of a file open.
The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - ip->di.status.bits
arg2 - Open count (after open)
arg3 - errno (after open)
sdt:samfs::sam-close-ret
The sam-close-ret probe triggers at the end of a file close.
The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - ip->di.status.bits
arg2 - Open count (after close)
arg3 - last_close_flag << 32 & errno
sdt:samfs::sam-read-ent
The sam-read-ent probe triggers at the start of a file read.
The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - uiop->uio_loffset (Offset in file at start of read)
arg2 - uiop->uio_resid (Amount to read)
sdt:samfs::sam-read-ret
The sam-read-ret probe triggers at the end of a file read.
More information is returned here. You may want to trigger
only the return call. The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - uiop->uio_loffset (Offset in file at end of read)
arg2 - Number of bytes read.
arg3 - Directio flag << 32 & errno
sdt:samfs::sam-write-ent
The sam-write-ent probe triggers at the start of a file
write. The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - uiop->uio_loffset (Offset in file at start of write)
arg2 - uiop->uio_resid (Amount to write)
sdt:samfs::sam-write-ret
The sam-write-ret probe triggers at the end of a file write.
More information is returned here. You may want to trigger
only the return call. The arguments returned are:
arg0 - Equipment number << 32 & Inode number
arg1 - uiop->uio_loffset (Offset in file at end of write)
arg2 - Number of bytes written.
arg3 - Directio flag << 32 & errno
sdt:samfs::sam-syscall-ent
The sam-syscall-ent probe triggers at the entry of a sam-qfs
syscall. The arguments returned are:
arg0 - syscall command (see include/sam/syscall.h)
arg1 - pointer to syscall argument struct (use copyout to read it)
arg2 - size of syscall argument
sdt:samfs::sam-syscall-ret
The sam-syscall-ent probe triggers at the end of a sam-qfs
syscall. The arguments returned are:
arg0 - syscall command (see include/sam/syscall.h)
arg1 - pointer to returned argument (may be NULL, use copyout to read it)
arg2 - errno (after syscall)
sdt:samfs::sam-msgread-client
The sam-msgread-client probe triggers when the shared client
receives a message from the metadata server. The arguments
returned are:
arg0 - hdr.operation << 32 & hdr.command
arg1 - hdr.hostid << 32 & client ordinal
arg2 - hdr.fsid (file system id from message)
arg3 - hdr.error (errno)
sdt:samfs::sam-msgread-server
The sam-msgread-client probe triggers when the shared meta-
data server receives a message from the shared client. The
arguments returned are:
arg0 - hdr.operation << 32 & hdr.command
arg1 - hdr.hostid << 32 & client ordinal
arg2 - hdr.fsid (file system id from message)
arg3 - hdr.error (errno)
sdt:samfs::sam-lookup-name
The sam-lookup-name probe triggers when the metadata server
needs to look up a file name. The arguments returned are:
arg0 - File name component string (use stringof(arg0))
arg1 - Nonzero if case insensitive lookup
arg2 - Internal flags field.
sdt:samfs::sam-find-component
The sam-find-component probe triggers when the metadata
server searches a file name component in a directory. The
arguments returned are:
arg0 - File name component string (use stringof(arg0))
arg1 - Nonzero if case insensitive lookup
arg2 - File name hash
EXAMPLES
Some examples of usage of the SAM-QFS DTrace probes can be
found in /opt/SUNWsamfs/examples/dtrace. These examples are
useful in their own right, but also serve as example scripts
which can be modified for other purposes. The scripts are:
fs_mon eqid
This script will monitor a specific file system and print
out once per second the top 5 bytes/second files being
accessed. It will continue until interrupted. The file
system is specified by the numeric equipment id of the file
system from the mcf file (see man mcf for more details).
The output of fs_mon looks like:
lake-mn### /opt/SUNWsamfs/examples/dtrace/fs_mon 10
inode bytes/sec
1030 22020096
1029 20971520
inode bytes/sec
1029 28311552
1030 27874304
ino_mon eqid inode
This script will monitor a specific file in a specific file
system and print out once per second data on read/write
speed. It will also gather and quantize I/O size data for
that file and report a summary of that when the script ends
(via ^C interrupt). The file is specified via equipment
number (from mcf file) and inode number. Inode number can
be found from "ls -i" output. Output from ino_mon looks
like:
lake-mn### /opt/SUNWsamfs/examples/dtrace/ino_mon 10 1029
Inode 1029 opened by pid 15155, tid 1
Inode 1029, 51261 KB/sec read, 0 KB/sec written
Inode 1029, 110238 KB/sec read, 0 KB/sec written
Inode 1029, 110640 KB/sec read, 0 KB/sec written
Inode 1029, 115298 KB/sec read, 0 KB/sec written
Inode 1029, 114805 KB/sec read, 0 KB/sec written
Inode 1029 closed by pid 15155, tid 1, last_close 1
Inode 1029, 39851 KB/sec read, 0 KB/sec written
^C
I/O size breakdown for eq 10, inode 1029
value ------------- Distribution ------------- count
-1 | 0
0 | 1
1 | 0
2 | 0
4 | 0
8 | 0
16 | 0
32 | 0
64 | 0
128 | 0
256 | 0
512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1720320
1024 | 0