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 "2022-01-01" "strace 6.13.0.37.b6c94"
|
|
.\"
|
|
.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)
|