You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.5 KiB
147 lines
4.5 KiB
4 months ago
|
.\" Copyright (c) 2017 The strace developers.
|
||
|
.\" All rights reserved.
|
||
|
.\"
|
||
|
.\" Redistribution and use in source and binary forms, with or without
|
||
|
.\" modification, are permitted provided that the following conditions
|
||
|
.\" are met:
|
||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer.
|
||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||
|
.\" documentation and/or other materials provided with the distribution.
|
||
|
.\" 3. The name of the author may not be used to endorse or promote products
|
||
|
.\" derived from this software without specific prior written permission.
|
||
|
.\"
|
||
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
.\"
|
||
|
.\" 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)
|