diff options
Diffstat (limited to 'doc/qsdt.1.html')
-rw-r--r-- | doc/qsdt.1.html | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/qsdt.1.html b/doc/qsdt.1.html new file mode 100644 index 0000000..3dbafad --- /dev/null +++ b/doc/qsdt.1.html @@ -0,0 +1,85 @@ + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of QSDT</TITLE> +<META name='KeyWords' content='Quality of Service, QoS, Apache Web Server, Web application security, WAF, Open Source Software, Security, Proxy'/> +<META name='author' content='Pascal Buchbinder' /> +</HEAD><BODY> +<H1>QSDT</H1> +Section: qsdt man page (1)<BR>Updated: May 2023<BR><A HREF="#index">Index</A> +<A HREF="index.html#utilities">Return to Main Contents</A><HR> + +<P> +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +qsdt calculates the elapsed time between two related log messages. +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + +qsdt [-t <regex>] -i <regex> -s <regex> -e <regex> [-v] [<path>] +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +qsdt is a simple tool to search two different messages in a log file and calculates the elapsed time between these lines. The two log messages need a common identifier such an unique request id (UNIQUE_ID), a thread id, or a transaction code. +<A NAME="lbAE"> </A> +<H2>OPTIONS</H2> + +<DL COMPACT> +<DT>-t <regex> <DD> +Defines a pattern (regular expression) matching the log line's timestamp. The pattern must include two sub-expressions, one matching hours, minutes and seconds the other matching the milliseconds. Default pattern is ([0-9]{2}:[0-9]{2}:[0-9]{2})[.,]([0-9]{3}) +<DT>-i <regex> <DD> +Pattern (regular expression) matching the identifier which the two messages have in common. The sub-expression defines the part which needs to be extracted from the matching string. Note: You can also use the start (-s) and end (-e) pattern to define the sub-expression matching this identifier. +<DT>-s <regex> <DD> +Defines the pattern (regular expression or literal string) identifying the first (start) of the two messages. +<DT>-e <regex> <DD> +Defines the pattern (regular expression or literal string) identifying the second (end) of the two messages. +<DT>-v <DD> +Verbose mode. +<DT><path> <DD> +Defines the input file to process. qsdt reads from from standard input if this parameter is omitted. +</DL> +<A NAME="lbAF"> </A> +<H2>EXAMPLE</H2> + +Sample command line arguments: +<P> +<BR> -i ' ([a-z0-9]+) [A-Z]+ ' -s 'Received Request' -e 'Received Response' +<P> +<BR> matching those sample log messages: +<BR> 2018-03-12 16:34:08.653 threadid23 INFO Received Request +<BR> 2018-03-13 16:35:09.891 threadid23 DEBUG MessageHandler Received Response +<P> +<A NAME="lbAG"> </A> +<H2>NOTE</H2> + +The four patterns (t,i,s,e) are concatenated into two search patterns: +<BR> first (start): [t (HH:MM:SS)(SSS) ].*[i (id) ].*[s ] +<BR> second (end): [t (HH:MM:SS)(SSS) ].*[i (id) ].*[e ] +<P> +And the three sub-expression are used to extract the timestamp and the unique identifier that the start and end message have in common. This means that you could specify the sub-expression for the unique identifier in the start (-s) or end (-e) pattern alternatively, e.g. in case the identifier is at the end of the log line. +<A NAME="lbAH"> </A> +<H2>SEE ALSO</H2> + +<A HREF="qsexec.1.html">qsexec</A>(1), <A HREF="qsfilter2.1.html">qsfilter2</A>(1), <A HREF="qsgeo.1.html">qsgeo</A>(1), <A HREF="qsgrep.1.html">qsgrep</A>(1), <A HREF="qshead.1.html">qshead</A>(1), <A HREF="qslog.1.html">qslog</A>(1), <A HREF="qslogger.1.html">qslogger</A>(1), <A HREF="qspng.1.html">qspng</A>(1), <A HREF="qsre.1.html">qsre</A>(1), <A HREF="qsrespeed.1.html">qsrespeed</A>(1), <A HREF="qsrotate.1.html">qsrotate</A>(1), <A HREF="qssign.1.html">qssign</A>(1), <A HREF="qstail.1.html">qstail</A>(1) +<A NAME="lbAI"> </A> +<H2>AUTHOR</H2> + +Pascal Buchbinder, <A HREF="http://mod-qos.sourceforge.net/">http://mod-qos.sourceforge.net/</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">OPTIONS</A><DD> +<DT><A HREF="#lbAF">EXAMPLE</A><DD> +<DT><A HREF="#lbAG">NOTE</A><DD> +<DT><A HREF="#lbAH">SEE ALSO</A><DD> +<DT><A HREF="#lbAI">AUTHOR</A><DD> +</DL> +<HR> + +</BODY> +</HTML> |