Scroll to navigation

STRACE-LOG-MERGE(1) General Commands Manual STRACE-LOG-MERGE(1)

NAME

strace-log-merge - merge strace -ff -tt output

SYNOPSIS

strace-log-merge STRACE_LOG
strace-log-merge --help

DESCRIPTION

strace-log-merge merges log files produced by the strace -ff -tt[t] command. It prepends the Process ID (PID) to each line and sorts the combined output chronologically by timestamp.

OPTIONS

Show program usage and exit.
Specifies the file name prefix for the log files produced by a strace -ff -tt[t] command. The utility will read all files matching the STRACE_LOG.* pattern.

EXIT STATUS

0
Success
An error occurred. This can be due to a missing argument (in which case usage information is printed) or a failure during the processing of the STRACE_LOG.* files.

USAGE EXAMPLE

$ 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 +++

NOTES

strace-log-merge may fail to correctly sort logs that were generated with -tt and span across midnight. This is because the standard -tt timestamp lacks date information, which is required for proper sorting. Using the -ttt option with strace solves this problem, as its timestamp format includes the date.

BUGS

strace-log-merge does not validate the format of the input files. It assumes that all files matching the STRACE_LOG.* glob pattern are correctly formatted log files from a single strace session.

HISTORY

The initial version of strace-log-merge was written by Denys Vlasenko in 2012.

REPORTING BUGS

Problems with strace-log-merge should be reported to the strace mailing list at <strace-devel@lists.strace.io>.

SEE ALSO

strace(1)

2025-07-02 strace 6.16