Debugging performance issues often includes comparison of brick strace files to compare number of syscalls/maximum-latencies per syscall etc with previous runs. This script helps in getting these numbers. Running it creates 3 types of files: 1) syscalls-summary.txt - Prints per syscall counts 2) <syscall>-latency.txt - This is an intermediate file where all 'syscall' calls from all the strace files will be listed. 3) per-fop-latency.txt - Per syscall it prints top <n> maximum latencies observed. Assumes the files in strace-dir are created using the following command: $ strace -ff -T -p <pid-of-brick> -o <path-to-the-dir/file-where-output-is-saved> Sample output of syscalls-summary.txt: 49857 chmod 49906 chown 97542 close 650309 fgetxattr 18 flistxattr .... Sample output of per-fop-latency.txt: --chmod-- 0.000216 0.000254 0.000266 ... --unlink-- 0.020208 0.025084 0.027231 ... Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
REVIEW: https://review.gluster.org/22816 (extras: Script to analyze strace of bricks) posted (#1) for review on master by Pranith Kumar Karampuri
This bug is moved to https://github.com/gluster/glusterfs/issues/1066, and will be tracked there from now on. Visit GitHub issues URL for further details