1VARNISHHIST(1) VARNISHHIST(1)
2
3
4
6 varnishhist - Varnish request histogram
7
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
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
136 • varnishd(1)
137
138 • varnishlog(1)
139
140 • varnishncsa(1)
141
142 • varnishstat(1)
143
144 • varnishtop(1)
145
146 • vsl(7)
147
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)