003 File Manager
Current Path:
/usr/libexec/dwatch
usr
/
libexec
/
dwatch
/
📁
..
📄
chmod
(1.65 KB)
📄
errno
(1.22 KB)
📄
fchmodat
(1.65 KB)
📄
io
(3.09 KB)
📄
io-done
(3.09 KB)
📄
io-start
(3.09 KB)
📄
ip
(1.76 KB)
📄
ip-receive
(1.76 KB)
📄
ip-send
(1.76 KB)
📄
kill
(1.19 KB)
📄
lchmod
(1.65 KB)
📄
nanosleep
(1.44 KB)
📄
open
(1.48 KB)
📄
openat
(1.48 KB)
📄
proc
(3.88 KB)
📄
proc-create
(3.88 KB)
📄
proc-exec
(3.88 KB)
📄
proc-exec-failure
(3.88 KB)
📄
proc-exec-success
(3.88 KB)
📄
proc-exit
(3.88 KB)
📄
proc-signal
(3.88 KB)
📄
proc-signal-clear
(3.88 KB)
📄
proc-signal-discard
(3.88 KB)
📄
proc-signal-send
(3.88 KB)
📄
proc-status
(3.88 KB)
📄
read
(1.8 KB)
📄
recv
(6.32 KB)
📄
recvfrom
(6.32 KB)
📄
recvmsg
(6.32 KB)
📄
rw
(1.8 KB)
📄
sched
(2.9 KB)
📄
sched-change-pri
(2.9 KB)
📄
sched-cpu
(2.9 KB)
📄
sched-dequeue
(2.9 KB)
📄
sched-enqueue
(2.9 KB)
📄
sched-exec
(2.9 KB)
📄
sched-lend-pri
(2.9 KB)
📄
sched-load-change
(2.9 KB)
📄
sched-off-cpu
(2.9 KB)
📄
sched-on-cpu
(2.9 KB)
📄
sched-preempt
(2.9 KB)
📄
sched-pri
(2.9 KB)
📄
sched-queue
(2.9 KB)
📄
sched-remain-cpu
(2.9 KB)
📄
sched-sleep
(2.9 KB)
📄
sched-surrender
(2.9 KB)
📄
sched-tick
(2.9 KB)
📄
sched-wakeup
(2.9 KB)
📄
send
(6.32 KB)
📄
sendmsg
(6.32 KB)
📄
sendrecv
(6.32 KB)
📄
sendto
(6.32 KB)
📄
systop
(2.22 KB)
📄
tcp
(5.37 KB)
📄
tcp-accept
(5.37 KB)
📄
tcp-accept-established
(5.37 KB)
📄
tcp-accept-refused
(5.37 KB)
📄
tcp-connect
(5.37 KB)
📄
tcp-connect-established
(5.37 KB)
📄
tcp-connect-refused
(5.37 KB)
📄
tcp-connect-request
(5.37 KB)
📄
tcp-established
(5.37 KB)
📄
tcp-init
(5.37 KB)
📄
tcp-io
(5.37 KB)
📄
tcp-receive
(5.37 KB)
📄
tcp-refused
(5.37 KB)
📄
tcp-send
(5.37 KB)
📄
tcp-state-change
(5.37 KB)
📄
tcp-status
(5.37 KB)
📄
udp
(2.29 KB)
📄
udp-receive
(2.29 KB)
📄
udp-send
(2.29 KB)
📄
udplite
(2.35 KB)
📄
udplite-receive
(2.35 KB)
📄
udplite-send
(2.35 KB)
📄
vop_create
(4.96 KB)
📄
vop_lookup
(4.96 KB)
📄
vop_mkdir
(4.96 KB)
📄
vop_mknod
(4.96 KB)
📄
vop_readdir
(4.71 KB)
📄
vop_remove
(4.96 KB)
📄
vop_rename
(8.11 KB)
📄
vop_rmdir
(4.96 KB)
📄
vop_symlink
(5.04 KB)
📄
write
(1.8 KB)
Editing: io-done
# -*- tab-width: 4 -*- ;; Emacs # vi: set filetype=sh tabstop=8 shiftwidth=8 noexpandtab :: Vi/ViM ############################################################ IDENT(1) # # $Title: dwatch(8) module for dtrace_io(4) $ # $Copyright: 2014-2018 Devin Teske. All rights reserved. $ # $FreeBSD$ # ############################################################ DESCRIPTION # # Display activity related to disk I/O # ############################################################ PROBE case "$PROFILE" in io) : ${PROBE:=io:::start, io:::done} ;; *) : ${PROBE:=io:::${PROFILE#io-}} esac ############################################################ EVENT ACTION [ "$CUSTOM_TEST" ] || EVENT_TEST='this->devinfo.dev_name != ""' ############################################################ ACTIONS exec 9<<EOF this bufinfo_t bufinfo; this devinfo_t devinfo; this int b_flags; this long bio_length; this string bio_cmd; this string bio_flags; this string device_entry; this string device_if; this string device_type; this string flow; inline string append_bio_flag[int flags, int flag] = this->bio_flags = strjoin(this->bio_flags, strjoin(this->bio_flags == "" ? "" : (flags & flag) == flag ? "|" : "", bio_flag_string[flags & flag])); $PROBE /(struct bio *)args[0] != NULL/ /* probe ID $ID */ {${TRACE:+ printf("<$ID>"); } /* * dtrace_io(4) */ this->flow = probefunc == "done" ? "<-" : "->"; /* * struct bio * */ this->bufinfo = xlate <bufinfo_t> ((struct bio *)args[0]); this->bio_cmd = bio_cmd_string[(int)this->bufinfo.b_cmd]; this->b_flags = (int)this->bufinfo.b_flags; this->bio_flags = bio_flag_string[this->b_flags & BIO_ERROR]; this->bio_flags = strjoin(this->bio_flags, this->bufinfo.b_error ? strjoin(this->bio_flags == "" ? bio_flag_string[BIO_ERROR] : "", strjoin("#", lltostr(this->bufinfo.b_error))) : ""); append_bio_flag[this->b_flags, BIO_DONE]; append_bio_flag[this->b_flags, BIO_ONQUEUE]; append_bio_flag[this->b_flags, BIO_ORDERED]; append_bio_flag[this->b_flags, BIO_UNMAPPED]; append_bio_flag[this->b_flags, BIO_TRANSIENT_MAPPING]; append_bio_flag[this->b_flags, BIO_VLIST]; this->bio_flags = this->bio_flags == "" ? "-" : this->bio_flags; this->bio_length = (long)this->bufinfo.b_bcount; /* * struct devstat * */ this->devinfo = xlate <devinfo_t> ((struct devstat *)args[1]); this->device_type = device_type[(int)this->devinfo.dev_type]; this->device_if = device_if[(int)this->devinfo.dev_type]; this->device_entry = strjoin(this->devinfo.dev_name, lltostr(this->devinfo.dev_minor)); } EOF ACTIONS=$( cat <&9 ) ID=$(( $ID + 1 )) ############################################################ EVENT DETAILS if [ ! "$CUSTOM_DETAILS" ]; then exec 9<<EOF /* * Print disk I/O details */ printf("%s %s %s %s %s %s %d byte%s", this->flow, this->device_type, this->device_if, this->device_entry, this->bio_cmd, this->bio_flags, this->bio_length, this->bio_length == 1 ? "" : "s"); EOF EVENT_DETAILS=$( cat <&9 ) fi ################################################################################ # END ################################################################################
Upload File
Create Folder