VARNISHHIST(1)
π¦ VARNISHHIST π¦
ok so this is the manual page for varnishhist, from section 1 of the General Commands Manual, and bestie... it's giving "I make ur requests into a graph". no cap. π
πΈ NAME πΈ
varnishhist β Varnish request histogram π
β¨ SYNOPSIS β¨
varnishhist [-B <factor>] [-C] [-d] [-g <request|vxid>] [-h] [-L
<limit>] [-n <workdir>] [-p <period>] [-P responsetime] [-P reqbodytime]
[-P size] [-P Bereqtime] [-P Beresptime] [-P BerespBodytime] [-P Besize]
[-P <[cbE:]tag:[prefix]:field_num[:min:max]>] [-Q <file>] [-q <query>]
[-r <filename>] [-t <seconds|off>] [-T <seconds>] [-V]
π« DESCRIPTION π«
ok so here's the tea π«: the varnishhist utility reads varnishd(1) shared memory logs and presents a continuously updated histogram showing the distribution of the last N requests by their processing. literally a live vibe check on ur traffic.
The value of N and the vertical scale are displayed in the top left corner (yes, look up there π). The horizontal scale is logarithmic, which is a whole mood.
Hits are marked with a pipe character ("|"), and misses are marked with a hash character ("#"). so iconic, honestly.
The following options are available:
π OPTIONS π
-B <factor>β Factor to bend time by. Particularly useful when[-r]eading from a vsl file.=1processes in near real time,<1is slow-motion,>1is time-lapse (useless unless reading from a file). At runtime,<halves and>doubles. β³-Cβ Do all regular expression and string matching caseless. lowercase girlies stay winning.-dβ Process log records at the head of the log and exit.-g <request|vxid>β The grouping of the log records. The default is to group by vxid.-hβ Print program usage and exit.-L <limit>β Sets the upper limit of incomplete transactions kept before the oldest transaction is force completed. A warning record is synthesized when this happens. This setting keeps an upper bound on the memory usage of running queries. Defaults to1000transactions.-n <workdir>β Specify the varnish working directory of the instance to attach to. Seevarnishd(1)-noption documentation for additional information and defaults.-p <period>β Specified the number of seconds between screen refreshes. Default is1second, and can be changed at runtime by pressing the[0-9]keys (powers of 2 in seconds or+and-(double/halve the speed).-P responsetimeβ Predefined client profile: graph the total time from start of request processing (first byte received) until ready to deliver the client response (field 3 ofSLT_Timestamp Process:VSL tag).-P reqbodytimeβ Predefined client profile: graph the time for reading the request body (field 3 ofSLT_Timestamp ReqBody:VSL tag).-P sizeβ Predefined client profile: graph the size of responses (field 5 ofSLT_ReqAcctVSL tag).-P Bereqtimeβ Predefined backend profile: graph the time from beginning of backend processing until a backend request is sent completely (field 3 ofSLT_Timestamp Bereq:VSL tag).-P Beresptimeβ Predefined backend profile: graph the time from beginning of backend processing until the response headers are being received completely (field 3 ofSLT_Timestamp Beresp:VSL tag).-P BerespBodytimeβ Predefined backend profile: graph the time from beginning of backend processing until the response body has been received (field 3 ofSLT_Timestamp BerespBody:VSL tag).-P Besizeβ Predefined backend profile: graph the backend response body size (field 5 ofSLT_BereqAcctVSL tag).-P <[cbE:]tag:[prefix]:field_num[:min:max]>β Graph the given custom definition defined as: an optional(c)lient,(b)ackend or(E)SI filter (defaults to client), the tag we'll look for, a prefix to look for (can be empty, but must be terminated by a colon) and the field number of the value we are interested in.minandmaxare the boundaries of the graph in powers of ten and default to-6and3. build ur own graph bestie, main character energy fr.-Q <file>β Specifies the file containing the VSL query to use. When multiple-Qor-qoptions are specified, all queries are considered as if the'or'operator was used to combine them.-q <query>β Specifies the VSL query to use. When multiple-qor-Qoptions are specified, all queries are considered as if the'or'operator was used to combine them.-r <filename>β Read log in binary file format from this file. The file can be created withvarnishlog -w filename. If the filename is-, logs are read from the standard input. and cannot work as a daemon.-t <seconds|off>β Timeout before returning error on initial VSM connection. If set the VSM connection is retried every0.5seconds for this many seconds. If zero the connection is attempted only once and will fail immediately if unsuccessful. If set to"off", the connection will not fail, allowing the utility to start and wait indefinitely for the Varnish instance to appear. Defaults to5seconds.-T <seconds>β Sets the transaction timeout in seconds. This defines the maximum number of seconds elapsed between aBegintag and theEndtag. If the timeout expires, a warning record is synthesized and the transaction is force completed. Defaults to120seconds.-Vβ Print version information and exit.--optstringβ Print the optstring parameter togetopt(3)to help writing wrapper scripts. (wrapping scripts = self care π )
π SEE ALSO π
π HISTORY π
The varnishhist utility was developed by Poul-Henning Kamp in cooperation with Verdens Gang AS and Varnish Software AS. This manual page was written by Dag-Erling SmΓΈrgrav. shoutout to the founding fathers of the histogram π«Ά
π COPYRIGHT π
This document is licensed under the same licence as Varnish itself. See LICENCE for details.
- Copyright (c) 2006 Verdens Gang AS
- Copyright (c) 2006-2015 Varnish Software AS
and that's the whole page, bestie. it lives in the General Commands Manual asVARNISHHIST(1)β header saysVARNISHHIST(1), footer saysVARNISHHIST(1), so like... consistent queen. go graph something pretty. β¨ππ
π¦ where this page comes from
- alpine 3.22: varnish-doc 7.7.3-r0 Β· BSD-2-Clause
- alpine 3.23: varnish-doc 7.7.3-r0 Β· BSD-2-Clause
- alpine 3.24: varnish-doc 7.7.3-r0 Β· BSD-2-Clause
- debian trixie: varnish 7.7.0-3+deb13u1 Β· BSD-2-Clause
- debian trixie: varnish 7.7.0-3+deb13u2 Β· BSD-2-Clause
- fedora 44: varnish 8.0.2-1.fc44 Β· BSD-2-Clause AND (BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND Zlib)
- fedora 44: varnish 8.0.2-1.fc44 Β· BSD-2-Clause AND (BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND Zlib)
- opensuse-leap 16.0: varnish 7.7.3-bp160.1.1 Β· BSD-2-Clause
- opensuse-leap 16.0: varnish 7.7.3-bp160.1.1 Β· BSD-2-Clause
- opensuse-leap 16.0: varnish 7.7.3-bp160.1.1 Β· BSD-2-Clause
- opensuse-leap 16.0: varnish 7.7.3-bp160.1.1 Β· BSD-2-Clause
- ubuntu questing: varnish 7.7.3-1
- π the page's license: BSD-2-Clause
- Copyright (c) 2010-2016 Varnish Software AS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms