Dmitry V. Levin
b93d52fe3d
strace is now provided under the terms of the GNU Lesser General Public License version 2.1 or later, see COPYING for more details. strace test suite is now provided under the terms of the GNU General Public License version 2 or later, see tests/COPYING for more details.
127 lines
3.1 KiB
Groff
127 lines
3.1 KiB
Groff
.\" Copyright (c) 2017 The strace developers.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" SPDX-License-Identifier: LGPL-2.1-or-later
|
|
.\"
|
|
.\" Required option.
|
|
.de OR
|
|
. ie \\n(.$-1 \
|
|
. RI "\fB\\$1\fP" "\ \\$2"
|
|
. el \
|
|
. BR "\\$1"
|
|
..
|
|
.\"
|
|
.TH STRACE-LOG-MERGE 1 "@MANPAGE_DATE@" "strace @VERSION@"
|
|
.\"
|
|
.SH NAME
|
|
strace-log-merge \- merge strace \-ff \-tt output
|
|
.\"
|
|
.SH SYNOPSIS
|
|
.SY strace\-log\-merge
|
|
.IR STRACE_LOG
|
|
.YS
|
|
.SY strace\-log\-merge
|
|
.OR \-\-help
|
|
.YS
|
|
.\"
|
|
.SH DESCRIPTION
|
|
.B strace\-log\-merge
|
|
merges the output of
|
|
.B strace \-ff \-tt[t]
|
|
command, prepending PID to each line and sorting the result using time stamp as
|
|
a key.
|
|
.\"
|
|
.SH OPTIONS
|
|
.\"
|
|
.TP
|
|
.B \-\-help
|
|
Show program usage and exit.
|
|
.TP
|
|
.I STRACE_LOG
|
|
Output file name prefix of files produced by a
|
|
.B strace -ff -tt[t]
|
|
command.
|
|
.SH EXIT STATUS
|
|
.TP
|
|
.B 0
|
|
Success
|
|
.TP
|
|
.B Non-zero
|
|
Error occurred: either no argument specified (in that case a usage is printed),
|
|
or something went wrong during the processing of
|
|
.IR STRACE_LOG ".*"
|
|
files.
|
|
.\"
|
|
.SH USAGE EXAMPLE
|
|
.sp
|
|
.nf
|
|
.ft CW
|
|
$ 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 +++
|
|
.ft R
|
|
.fi
|
|
.sp
|
|
.\"
|
|
.SH NOTES
|
|
.I strace-log-merge
|
|
does not work well with
|
|
.B strace
|
|
logs generated by
|
|
.B strace -tt
|
|
invocation that pass midnight, as those lack the information required
|
|
for the proper sorting.
|
|
Employing the
|
|
.B -ttt
|
|
option in the respective
|
|
.B strace
|
|
invocation should solve the problem.
|
|
.\"
|
|
.SH BUGS
|
|
.I 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
|
|
.I strace
|
|
session match
|
|
.IR STRACE_LOG ".*"
|
|
glob pattern.
|
|
.\"
|
|
.SH HISTORY
|
|
The initial version of
|
|
.I strace-log-merge
|
|
was written by Denys Vlasenko in 2012.
|
|
.\"
|
|
.SH REPORTING BUGS
|
|
Problems with
|
|
.B strace-log-merge
|
|
should be reported to the
|
|
.B strace
|
|
mailing list at <strace\-devel@lists.strace.io>.
|
|
.\"
|
|
.SH "SEE ALSO"
|
|
.BR strace (1)
|