Man page - f2fsslower-bpfcc(8)
Packages contains this manual
- swapin-bpfcc(8)
- uthreads(8)
- btrfsdist-bpfcc(8)
- memleak-bpfcc(8)
- tcpconnlat-bpfcc(8)
- killsnoop-bpfcc(8)
- dbstat-bpfcc(8)
- cpuunclaimed-bpfcc(8)
- pythonflow-bpfcc(8)
- pythoncalls-bpfcc(8)
- vfsstat-bpfcc(8)
- filelife-bpfcc(8)
- gethostlatency-bpfcc(8)
- reset-trace-bpfcc(8)
- tcptop-bpfcc(8)
- nodegc-bpfcc(8)
- javagc-bpfcc(8)
- biosnoop-bpfcc(8)
- dcstat-bpfcc(8)
- tclcalls-bpfcc(8)
- shmsnoop-bpfcc(8)
- funccount-bpfcc(8)
- filegone-bpfcc(8)
- threadsnoop-bpfcc(8)
- filetop-bpfcc(8)
- rdmaucma-bpfcc(8)
- rubycalls-bpfcc(8)
- tcpsynbl-bpfcc(8)
- f2fsslower-bpfcc(8)
- tcpaccept-bpfcc(8)
- offcputime-bpfcc(8)
- execsnoop-bpfcc(8)
- cachestat-bpfcc(8)
- zfsdist-bpfcc(8)
- javathreads-bpfcc(8)
- tcptracer-bpfcc(8)
- mountsnoop-bpfcc(8)
- tplist-bpfcc(8)
- solisten-bpfcc(8)
- ttysnoop-bpfcc(8)
- biolatency-bpfcc(8)
- hardirqs-bpfcc(8)
- biotop-bpfcc(8)
- cachetop-bpfcc(8)
- phpstat-bpfcc(8)
- tcpconnect-bpfcc(8)
- rubyobjnew-bpfcc(8)
- btrfsslower-bpfcc(8)
- syncsnoop-bpfcc(8)
- syscount-bpfcc(8)
- slabratetop-bpfcc(8)
- funcslower-bpfcc(8)
- tcpstates-bpfcc(8)
- llcstat-bpfcc(8)
- javaobjnew-bpfcc(8)
- capable-bpfcc(8)
- wqlat-bpfcc(8)
- exitsnoop-bpfcc(8)
- tcpretrans-bpfcc(8)
- nodestat-bpfcc(8)
- rubyflow-bpfcc(8)
- ucalls(8)
- biolatpcts-bpfcc(8)
- argdist-bpfcc(8)
- uflow(8)
- perlflow-bpfcc(8)
- vfscount-bpfcc(8)
- pythonstat-bpfcc(8)
- ext4slower-bpfcc(8)
- tclobjnew-bpfcc(8)
- funclatency-bpfcc(8)
- compactsnoop-bpfcc(8)
- tcprtt-bpfcc(8)
- tcpdrop-bpfcc(8)
- dbslower-bpfcc(8)
- dcsnoop-bpfcc(8)
- statsnoop-bpfcc(8)
- sslsniff-bpfcc(8)
- runqlen-bpfcc(8)
- runqlat-bpfcc(8)
- netqtop-bpfcc(8)
- bitesize-bpfcc(8)
- biopattern-bpfcc(8)
- offwaketime-bpfcc(8)
- uobjnew(8)
- trace-bpfcc(8)
- zfsslower-bpfcc(8)
- softirqs-bpfcc(8)
- phpcalls-bpfcc(8)
- funcinterval-bpfcc(8)
- drsnoop-bpfcc(8)
- ustat(8)
- readahead-bpfcc(8)
- cthreads-bpfcc(8)
- javacalls-bpfcc(8)
- stackcount-bpfcc(8)
- tcplife-bpfcc(8)
- fileslower-bpfcc(8)
- javaflow-bpfcc(8)
- perlcalls-bpfcc(8)
- ksnoop-bpfcc(8)
- kvmexit-bpfcc(8)
- runqslower-bpfcc(8)
- tclflow-bpfcc(8)
- ext4dist-bpfcc(8)
- inject-bpfcc(8)
- klockstat-bpfcc(8)
- pythongc-bpfcc(8)
- tcpsubnet-bpfcc(8)
- opensnoop-bpfcc(8)
- tclstat-bpfcc(8)
- ppchcalls-bpfcc(8)
- tcpcong-bpfcc(8)
- spfdsnoop-bpfcc(8)
- bpflist-bpfcc(8)
- javastat-bpfcc(8)
- pidpersec-bpfcc(8)
- phpflow-bpfcc(8)
- rubystat-bpfcc(8)
- deadlock-bpfcc(8)
- virtiostat-bpfcc(8)
- cpudist-bpfcc(8)
- nfsdist-bpfcc(8)
- mdflush-bpfcc(8)
- oomkill-bpfcc(8)
- wakeuptime-bpfcc(8)
- xfsslower-bpfcc(8)
- bindsnoop-bpfcc(8)
- criticalstat-bpfcc(8)
- profile-bpfcc(8)
- rubygc-bpfcc(8)
- nfsslower-bpfcc(8)
- xfsdist-bpfcc(8)
- dirtop-bpfcc(8)
- perlstat-bpfcc(8)
- sofdsnoop-bpfcc(8)
- cobjnew-bpfcc(8)
- bashreadline-bpfcc(8)
- ugc(8)
- mysqld_qslower-bpfcc(8)
apt-get install bpfcc-tools
Manual
f2fsslower
NAMESYNOPSIS
DESCRIPTION
REQUIREMENTS
OPTIONS
EXAMPLES
FIELDS
OVERHEAD
SOURCE
OS
STABILITY
AUTHOR
SEE ALSO
NAME
f2fsslower - Trace slow f2fs file operations, with per-event details.
SYNOPSIS
f2fsslower [-h] [-s] [-p PID] [min_ms]
DESCRIPTION
This tool traces common f2fs file operations: reads, writes, opens, and syncs. It measures the time spent in these operations, and prints details for each that exceeded a threshold.
WARNING: See the OVERHEAD section.
By default, a minimum millisecond threshold of 10 is used. If a threshold of 0 is used, all events are printed (warning: verbose).
Since this works by tracing the f2fs_file_operations interface functions, it will need updating to match any changes to these functions.
Since this uses BPF, only the root user can use this tool.
REQUIREMENTS
CONFIG_BPF and bcc.
OPTIONS
-p PID Trace this PID only.
|
min_ms |
Minimum I/O latency (duration) to trace, in milliseconds. Default is 10 ms. |
EXAMPLES
Trace synchronous file reads and writes slower than 10 ms:
# f2fsslower
Trace slower than 1 ms:
# f2fsslower 1
Trace slower than 1 ms, and
output just the fields in parsable format
(csv):
# f2fsslower -s 1
Trace all file reads and writes (warning: the output will be verbose):
# f2fsslower 0
Trace slower than 1 ms, for PID 181 only:
# f2fsslower -p 181 1
FIELDS
TIME(s)
Time of I/O completion since the first I/O seen, in seconds.
|
COMM |
Process name. |
||
|
PID |
Process ID. |
||
|
T |
Type of operation. R == read, W == write, O == open, S == fsync. |
||
|
OFF_KB |
File offset for the I/O, in Kbytes. |
||
|
BYTES |
Size of I/O, in bytes. |
LAT(ms)
Latency (duration) of I/O, measured from when it was issued by VFS to the filesystem, to when it completed. This time is inclusive of block device I/O, file system CPU cycles, file system locks, run queue latency, etc. Itβs a more accurate measure of the latency suffered by applications performing file system I/O, than to measure this down at the block device interface.
FILENAME
A cached kernel file name (comes from dentry->d_name.name).
ENDTIME_us
Completion timestamp, microseconds (-s only).
OFFSET_b
File offset, bytes (-s only).
LATENCY_us
Latency (duration) of the I/O, in microseconds (-s only).
OVERHEAD
This adds low-overhead instrumentation to these f2fs operations, including reads and writes from the file system cache. Such reads and writes can be very frequent (depending on the workload; eg, 1M/sec), at which point the overhead of this tool (even if it prints no "slower" events) can begin to become significant. Measure and quantify before use. If this continues to be a problem, consider switching to a tool that prints in-kernel summaries only.
Note that the overhead of this tool should be less than fileslower(8), as this tool targets f2fs functions only, and not all file read/write paths (which can include socket I/O).
SOURCE
This is from bcc.
https://github.com/iovisor/bcc
Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool.
OS
Linux
STABILITY
Unstable - in development.
AUTHOR
Ting Zhang
SEE ALSO
biosnoop(8), funccount(8), fileslower(8)