NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | USAGE EXAMPLE | NOTES | BUGS | HISTORY | REPORTING BUGS | SEE ALSO | COLOPHON |
|
|
STRACE-LOG-MERGE(1) General Commands Manual STRACE-LOG-MERGE(1)
strace-log-merge - merge strace -ff -tt output
strace-log-merge STRACE_LOG strace-log-merge --help
strace-log-merge merges the output of strace -ff -tt[t] command, prepending PID to each line and sorting the result using time stamp as a key.
--help Show program usage and exit. STRACE_LOG Output file name prefix of files produced by a strace -ff -tt[t] command.
0 Success Non-zero Error occurred: either no argument specified (in that case a usage is printed), or something went wrong during the processing of STRACE_LOG.* files.
$ strace -o sleepy -ff -tt -e trace=execve,nanosleep \ sh -c 'sleep 0.1 & sleep 0.2 & sleep 0.3' $ strace-log-merge sleepy | fold -w 72 -s 13475 21:13:52.040837 execve("/bin/sh", ["sh", "-c", "sleep 0.1 & sleep 0.2 & sleep 0."...], 0x7ffde54b2450 /* 33 vars */) = 0 13478 21:13:52.044050 execve("/bin/sleep", ["sleep", "0.3"], 0x5631be4f87a8 /* 33 vars */) = 0 13476 21:13:52.044269 execve("/bin/sleep", ["sleep", "0.1"], 0x5631be4f87a8 /* 33 vars */) = 0 13477 21:13:52.044389 execve("/bin/sleep", ["sleep", "0.2"], 0x5631be4f87a8 /* 33 vars */) = 0 13478 21:13:52.046207 nanosleep({tv_sec=0, tv_nsec=300000000}, NULL) = 0 13476 21:13:52.046303 nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0 13477 21:13:52.046318 nanosleep({tv_sec=0, tv_nsec=200000000}, NULL) = 0 13476 21:13:52.146852 +++ exited with 0 +++ 13475 21:13:52.146942 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13476, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13477 21:13:52.247782 +++ exited with 0 +++ 13475 21:13:52.247885 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13477, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13478 21:13:52.347680 +++ exited with 0 +++ 13475 21:13:52.347786 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13478, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13475 21:13:52.348069 +++ exited with 0 +++
strace-log-merge does not work well with strace logs generated by strace -tt invocation that pass midnight, as those lack the information required for the proper sorting. Employing the -ttt option in the respective strace invocation should solve the problem.
strace-log-merge does not perform any checks whether the files specified are in the correct format and implies that only files from a single strace session match STRACE_LOG.* glob pattern.
The initial version of strace-log-merge was written by Denys Vlasenko in 2012.
Problems with strace-log-merge should be reported to the strace mailing list at <strace-devel@lists.strace.io>.
strace(1)
This page is part of the strace (system call tracer) project.
Information about the project can be found at
⟨http://strace.io/⟩. If you have a bug report for this manual
page, send it to strace-devel@lists.sourceforge.net. This page
was obtained from the project's upstream Git repository
⟨https://github.com/strace/strace.git⟩ on 2024-06-14. (At that
time, the date of the most recent commit that was found in the
repository was 2024-06-04.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
strace 6.9.0.16.2a4c4 2022-01-01 STRACE-LOG-MERGE(1)
Pages that refer to this page: strace(1)