1VARNISHHIST(1)                                                  VARNISHHIST(1)
2
3
4

NAME

6       varnishhist - Varnish request histogram
7

SYNOPSIS

9       varnishhist  [-B  <factor>]  [-C]  [-d]  [-g  <request|vxid>]  [-h] [-L
10       <limit>] [-n <dir>] [-p <period>] [-P  responsetime]  [-P  reqbodytime]
11       [-P  size]  [-P  Bereqtime] [-P Beresptime] [-P BerespBodytime] [-P Be‐
12       size]  [-P  <[cb:]tag:[prefix]:field_num[:min:max]>]  [-Q  <file>]  [-q
13       <query>] [-r <filename>] [-t <seconds|off>] [-T <seconds>] [-V]
14

DESCRIPTION

16       The  varnishhist  utility  reads  varnishd(1)  shared  memory  logs and
17       presents a continuously updated histogram showing the  distribution  of
18       the last N requests by their processing.  The value of N and the verti‐
19       cal scale are displayed in the top left corner.  The  horizontal  scale
20       is  logarithmic.   Hits  are  marked  with  a pipe character ("|"), and
21       misses are marked with a hash character ("#").
22
23       The following options are available:
24
25       -B <factor>
26              Factor to bend time by. Particularly useful when [-r]eading from
27              a  vsl  file.  =1  process in near real time, <1 slow-motion, >1
28              time-lapse (useless unless reading from a file). At  runtime,  <
29              halves and > doubles.
30
31       -C     Do all regular expression and string matching caseless.
32
33       -d     Process log records at the head of the log and exit.
34
35       -g <request|vxid>
36              The  grouping  of  the  log  records. The default is to group by
37              vxid.
38
39       -h     Print program usage and exit
40
41       -L <limit>
42              Sets the upper limit of incomplete transactions kept before  the
43              oldest  transaction is force completed. A warning record is syn‐
44              thesized when this happens. This setting keeps an upper bound on
45              the  memory  usage of running queries. Defaults to 1000 transac‐
46              tions.
47
48       -n <dir>
49              Specify the varnishd working directory (also known  as  instance
50              name) to get logs from. If -n is not specified, the host name is
51              used.
52
53       -p <period>
54              Specified the number of seconds between  screen  refreshes.  De‐
55              fault is 1 second, and can be changed at runtime by pressing the
56              [0-9] keys (powers of 2 in seconds or + and - (double/halve  the
57              speed).
58
59       -P responsetime
60              Predefined  client  profile:  graph the total time from start of
61              request processing (first byte received) until ready to  deliver
62              the client response (field 3 of SLT_Timestamp Process: VSL tag).
63
64       -P reqbodytime
65              Predefined  client  profile:  graph the time for reading the re‐
66              quest body (field 3 of SLT_Timestamp ReqBody: VSL tag).
67
68       -P size
69              Predefined client profile: graph the size of responses (field  5
70              of SLT_ReqAcct  VSL tag).
71
72       -P Bereqtime
73              Predefined  backend  profile:  graph  the time from beginning of
74              backend processing until a backend request  is  sent  completely
75              (field 3 of SLT_Timestamp Bereq: VSL tag).
76
77       -P Beresptime
78              Predefined  backend  profile:  graph  the time from beginning of
79              backend processing until the response headers are being received
80              completely (field 3 of SLT_Timestamp Beresp: VSL tag).
81
82       -P BerespBodytime
83              Predefined  backend  profile:  graph  the time from beginning of
84              backend processing until the response  body  has  been  received
85              (field 3 of SLT_Timestamp BerespBody: VSL tag).
86
87       -P Besize
88              Predefined backend profile: graph the backend response body size
89              (field 5 of SLT_BereqAcct  VSL tag).
90
91       -P <[cb:]tag:[prefix]:field_num[:min:max]>
92              Graph the  given  custom  definition  defined  as:  an  optional
93              (c)lient,  (b)ackend  or  (E)SI filter (defaults to client), the
94              tag we'll look for, a prefix to look for (can be empty, but must
95              be  terminated  by a colon) and the field number of the value we
96              are interested in. min and max are the boundaries of  the  graph
97              in powers of ten and default to -6 and 3.
98
99       -Q <file>
100              Specifies  the file containing the VSL query to use. When multi‐
101              ple -Q or -q options are specified, all queries  are  considered
102              as if the 'or' operator was used to combine them.
103
104       -q <query>
105              Specifies  the  VSL query to use. When multiple -q or -Q options
106              are specified, all queries are considered as if the 'or'  opera‐
107              tor was used to combine them.
108
109       -r <filename>
110              Read  log  in binary file format from this file. The file can be
111              created with varnishlog -w filename. If the filename is -,  logs
112              are read from the standard input. and cannot work as a daemon.
113
114       -t <seconds|off>
115              Timeout before returning error on initial VSM connection. If set
116              the VSM connection is retried every 0.5 seconds  for  this  many
117              seconds.  If zero the connection is attempted only once and will
118              fail immediately if unsuccessful. If set to "off",  the  connec‐
119              tion will not fail, allowing the utility to start and wait inde‐
120              finetely for the Varnish instance to appear.  Defaults to 5 sec‐
121              onds.
122
123       -T <seconds>
124              Sets  the transaction timeout in seconds. This defines the maxi‐
125              mum number of seconds elapsed between a Begin tag  and  the  End
126              tag. If the timeout expires, a warning record is synthesized and
127              the transaction is force completed. Defaults to 120 seconds.
128
129       -V     Print version information and exit.
130
131       --optstring
132              Print the optstring parameter to getopt(3) to help writing wrap‐
133              per scripts.
134

SEE ALSO

136varnishd(1)
137
138varnishlog(1)
139
140varnishncsa(1)
141
142varnishstat(1)
143
144varnishtop(1)
145
146vsl(7)
147

HISTORY

149       The  varnishhist utility was developed by Poul-Henning Kamp in coopera‐
150       tion with Verdens Gang AS and Varnish Software AS. This manual page was
151       written by Dag-Erling Smørgrav.
152
154       This document is licensed under the same licence as Varnish itself. See
155       LICENCE for details.
156
157       • Copyright (c) 2006 Verdens Gang AS
158
159       • Copyright (c) 2006-2015 Varnish Software AS
160
161
162
163
164                                                                VARNISHHIST(1)
Impressum