1tlog-play(8)                System Manager's Manual               tlog-play(8)
2
3
4

NAME

6       tlog-play - play back terminal I/O recorded by tlog-rec(8)
7
8

SYNOPSIS

10       tlog-play [OPTION...]
11
12

DESCRIPTION

14       Tlog-play  is  a  playback program for terminal I/O recorded with tlog-
15       rec(8).  It reproduces the recording on the terminal  it's  run  under,
16       and can't change its size, so the playback terminal size needs to match
17       the recorded terminal size for proper playback.
18
19       Tlog-play loads its parameters from the system-wide configuration  file
20       /usr/local/etc/tlog/tlog-play.conf,  which  can be overridden with com‐
21       mand-line options described below.
22
23

OPTIONS

25   General options
26       -h, --help
27              Output a command-line usage message and exit.
28
29
30
31
32       -v, --version
33              Output version information and exit.
34
35
36
37
38       --configuration
39              Output program configuration in JSON and exit.
40
41
42
43
44       -s, --speed=NUMBER
45              Set playback speed multiplier to NUMBER.
46
47              NUMBER is a floating-point number to multiply playback speed by.
48              Can be adjusted during playback.
49
50              Value minimum: 0
51
52       -f, --follow
53              Wait for and play back new messages.
54
55              If  specified,  when the end of the recorded session is reached,
56              wait for new messages to be added and play them back  when  they
57              appear.
58
59
60       -g, --goto=STRING
61              Fast-forward to STRING time (start/end/HH:MM:SS.sss).
62
63              STRING  is  a  logical  location,  or  a time to which recording
64              should be fast-forwarded.  Can be a "start", or an "end" string,
65              or  a timestamp formatted as HH:MM:SS.sss, where any part can be
66              omitted to mean zero.
67
68
69       -p, --paused
70              Start playback paused.
71
72              If specified, playback is started in a paused state.
73
74
75       -r, --reader=STRING
76              Use STRING log reader (file/journal/es, default file).
77
78              STRING is the type of "log reader" to  use  for  retrieving  log
79              messages. The chosen reader needs to be configured using its own
80              dedicated parameters.
81
82              Value should be one of: "file", "journal", "es"
83
84       --persist
85              Ignore quit key and signals from keyboard.
86
87              If specified, ignore any keyboard-generated signals and the quit
88              key.
89
90
91       --lax  Ignore missing (dropped) log messages.
92
93              If  specified,  ignore  missing (dropped, or lost) log messages.
94              Otherwise report an error and abort when a message is missing.
95
96
97   File reader options
98       -i, --file-path=FILE
99              Read log from FILE file.
100
101              FILE is the path to the file the "file" reader should read  logs
102              from.
103
104
105   Elasticsearch reader options
106       --es-baseurl=STRING
107              Elasticsearch URL without query or fragment parts.
108
109              STRING  is the base URL to request Elasticsearch through. Should
110              not contain query (?...) or fragment (#...) parts.
111
112
113       --es-query=STRING
114              Elasticsearch query.
115
116              STRING is the query string to send to Elasticsearch
117
118
119   Systemd journal reader options
120       -S, --journal-since=SECONDS
121              Start searching journal at SECONDS since epoch.
122
123              SECONDS is the number of seconds since epoch to seek  to  before
124              searching for the first matching log entry.
125
126              Value minimum: 0
127
128       -U, --journal-until=SECONDS
129              Stop searching journal at SECONDS since epoch.
130
131              SECONDS  is the number of seconds since epoch at which searching
132              for log entries should stop.
133
134              Value minimum: 0
135
136       -M, --journal-match=STRING
137              Add STRING to journal match symbol list.
138
139              Each STRING specifies a journal match  symbol:  either  a  name-
140              value  pair, according to sd_journal_add_match(3), or an "OR" or
141              "AND" string signifying  disjunction  or  conjunction,  as  with
142              sd_journal_add_disjunction(3) and sd_journal_add_conjunction(3)
143
144
145
146

CONTROLS

148       Playback can be controlled using the following keys:
149
150
151       SPACE, p
152              Pause/resume playback.
153
154
155       }      Double the playback speed. Maximum is 16x.
156
157
158       {      Halve the playback speed. Minimum is 1/16x.
159
160
161       BACKSPACE
162              Reset playback to normal, 1x speed.
163
164
165       .      Output the next packet immediately, without delay, regardless if
166              paused or not. Press when  paused  to  step  through  recording.
167              Press  once to skip a long pause. Hold to skip through recording
168              at constant speed (the keyboard repeat rate).
169
170
171       G      Fast-forward the recording to the end,  or  to  specified  time.
172              Works  while  playing and on pause. The time can be specified by
173              typing in a timestamp before pressing 'G'. The timestamp  should
174              follow the format of the -g/--goto option value, but without the
175              fractions of a second. The command has no effect, if the  speci‐
176              fied time location has already been reached.
177
178              E.g.  pressing  just 'G' would fast-forward to the end, which is
179              useful with following enabled. Pressing '3',  '0',  'G'  (typing
180              "30G")  would  fast-forward  to 30 seconds from the start of the
181              recording. Typing "30:00G" would fast-forward to 30 minutes, and
182              so  would  "30:G", and "1800G". Typing "2::G" would fast-forward
183              to two hours  into  the  recording,  the  same  as  "120:G"  and
184              "7200G".
185
186
187       q      Stop playing and quit.
188
189

FILES

191       /usr/local/etc/tlog/tlog-play.conf
192              The system-wide configuration file
193
194

BUGS

196       Recordings can include control sequences attempting to communicate with
197       the terminal, and the playback terminal would dutifully reply to  them.
198       Tlog-play  tries  to  filter  these responses out, but since it's not a
199       full terminal emulator itself, and since there's  a  great  variety  of
200       such  control  sequences,  it can sometimes fail, and interpret some of
201       these as playback control  keys  described  above,  with  corresponding
202       effects.
203
204       This  is  going to be fixed in future releases, possibly by embedding a
205       proper terminal emulator in tlog-play. For now, most  recordings  would
206       reproduce correctly, but some might exhibit erratic behavior, and it is
207       possible to e.g. make a recording which would skip  (hide)  a  part  of
208       itself  on  playback.  However,  there  are  other, easier ways to hide
209       actions on a terminal, of course.
210
211

EXAMPLES

213       Play back contents of a file written with tlog-rec's "file" writer:
214              tlog-play -r file --file-path=recording.log
215
216
217       Play back a recording from Journal:
218              tlog-play              -r               journal               -M
219              TLOG_REC=6071524bb44d403991a00413ab7c8596-53bd-378c5d9
220
221
222       Play back a recording from Elasticsearch:
223              tlog-play         -r        es        --es-baseurl=http://local
224              host:9200/tlog/tlog/_search --es-query=session:121
225
226

SEE ALSO

228       tlog-play.conf(5), tlog-rec(8)
229
230

AUTHOR

232       Nikolai Kondrashov <spbnick@gmail.com>
233
234
235
236Tlog                              March 2016                      tlog-play(8)
Impressum