1QSDT(1) qsdt man page QSDT(1)
2
3
4
6 qsdt calculates the elapsed time between two related log messages.
7
9 qsdt [-t <regex>] -i <regex> -s <regex> -e <regex> [-v] [<path>]
10
12 qsdt is a simple tool to search two different messages in a log file
13 and calculates the elapsed time between these lines. The two log mes‐
14 sages need a common identifier such an unique request id (UNIQUE_ID), a
15 thread id, or a transaction code.
16
18 -t <regex>
19 Defines a pattern (regular expression) matching the log line's
20 timestamp. The pattern must include two sub-expressions, one
21 matching hours, minutes and seconds the other matching the mil‐
22 liseconds. Default pattern is
23 ([0-9]{2}:[0-9]{2}:[0-9]{2})[.,]([0-9]{3})
24
25 -i <regex>
26 Pattern (regular expression) matching the identifier which the
27 two messages have in common. The sub-expression defines the part
28 which needs to be extracted from the matching string. Note: You
29 can also use the start (-s) and end (-e) pattern to define the
30 sub-expression matching this identifier.
31
32 -s <regex>
33 Defines the pattern (regular expression or literal string) iden‐
34 tifying the first (start) of the two messages.
35
36 -e <regex>
37 Defines the pattern (regular expression or literal string) iden‐
38 tifying the second (end) of the two messages.
39
40 -v Verbose mode.
41
42 <path> Defines the input file to process. qsdt reads from from standard
43 input if this parameter is omitted.
44
46 Sample command line arguments:
47
48 -i ' ([a-z0-9]+) [A-Z]+ ' -s 'Received Request' -e 'Received Re‐
49 sponse'
50
51 matching those sample log messages:
52 2018-03-12 16:34:08.653 threadid23 INFO Received Request
53 2018-03-13 16:35:09.891 threadid23 DEBUG MessageHandler Received Re‐
54 sponse
55
56
58 The four patterns (t,i,s,e) are concatenated into two search patterns:
59 first (start): [t (HH:MM:SS)(SSS) ].*[i (id) ].*[s ]
60 second (end): [t (HH:MM:SS)(SSS) ].*[i (id) ].*[e ]
61
62 And the three sub-expression are used to extract the timestamp and the
63 unique identifier that the start and end message have in common. This
64 means that you could specify the sub-expression for the unique identi‐
65 fier in the start (-s) or end (-e) pattern alternatively, e.g. in case
66 the identifier is at the end of the log line.
67
69 qsexec(1), qsfilter2(1), qsgeo(1), qsgrep(1), qshead(1), qslog(1), qs‐
70 logger(1), qspng(1), qsre(1), qsrespeed(1), qsrotate(1), qssign(1), qs‐
71 tail(1)
72
74 Pascal Buchbinder, http://mod-qos.sourceforge.net/
75
76
77
78mod_qos utilities 11.74 May 2023 QSDT(1)