vinylhist(1)

πŸ“¦
version 9.1.0 Β· 4 versions
, in arch rolling

πŸ’– NAME πŸ’–

vinylhist β€” the Vinyl Cache request histogram, bestie. It's giving "watch your requests arrive in real time" energy, and it lives in section 1 of the manual (vinylhist(1)), okayyy.

✨ SYNOPSIS ✨

vinylhist [-0] [-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 πŸ¦‹

Okay so picture this: the vinylhist utility reads the shared memory logs from vinyld(1) and serves you a continuously updated histogram showing how the last N requests are distributed by their processing. N and the vertical scale are chillin' in the top left corner. The horizontal scale is logarithmic β€” math girlie behavior, honestly.

Hits get marked with a pipe character ("|"), and misses get marked with a hash character ("#"). Cute, iconic, easy to read.

The following options are available:

πŸŽ€ OPTIONS πŸŽ€

  • -0 β€” Return immediately (i.e. process 0 transactions) if the configuration is valid. This option means the process does not try to write a PID file, daemonize, connect to a VSM, or open a log file, but it will run all the other pre-flight operation, including validating the VSL queries. Like a vibe check with zero commitment.
  • -B <factor> β€” Factor to bend time by. Particularly useful when [-r]eading from a vsl file. =1 processes in near real time, <1 is slow-motion, >1 is time-lapse (useless unless reading from a file). At runtime, < halves and > doubles. Time travel but make it a command-line flag.
  • -C β€” Do all regular expression and string matching caseless. Case? Never heard of her.
  • -d β€” Process log records at the head of the log and exit. In and out, no lingering.
  • -g <request|vxid> β€” The grouping of the log records. The default is to group by vxid.
  • -h β€” Print program usage and exit. The "what do I even do" button, but make it helpful.
  • -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 to 1000 transactions. Boundaries, bestie.
  • -n <workdir> β€” Specify the vinyl working directory of the instance to attach to. See vinyld(1) -n option documentation for additional information and defaults.
  • -p <period> β€” Specifies the number of seconds between screen refreshes. Default is 1 second, and it can be changed at runtime by pressing the [0-9] keys (powers of 2 in seconds) or + and - (double/halve the speed). Refresh rate said "let me live."
  • -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 of SLT_Timestamp Process: VSL tag).
  • -P reqbodytime β€” Predefined client profile: graph the time for reading the request body (field 3 of SLT_Timestamp ReqBody: VSL tag).
  • -P size β€” Predefined client profile: graph the size of responses (field 5 of SLT_ReqAcct VSL tag).
  • -P Bereqtime β€” Predefined backend profile: graph the time from beginning of backend processing until a backend request is sent completely (field 3 of SLT_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 of SLT_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 of SLT_Timestamp BerespBody: VSL tag).
  • -P Besize β€” Predefined backend profile: graph the backend response body size (field 5 of SLT_BereqAcct VSL 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. min and max are the boundaries of the graph in powers of ten and default to -6 and 3. Custom graph, custom slay.
  • -Q <file> β€” Specifies the file containing the VSL query to use. When multiple -Q or -q options 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 -q or -Q options 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 with vinyllog -w filename. If the filename is -, logs are read from the standard input, and cannot work as a daemon. Standard input said "no daemon era for me."
  • -t <seconds|off> β€” Timeout before returning error on initial VSM connection. If set, the VSM connection is retried every 0.5 seconds 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 vinyld instance to appear. Defaults to 5 seconds.
  • -T <seconds> β€” Sets the transaction timeout in seconds. This defines the maximum number of seconds elapsed between a Begin tag and the End tag. If the timeout expires, a warning record is synthesized and the transaction is force completed. Defaults to 120 seconds.
  • -V β€” Print version information and exit. Gotta know which era you're in.
  • --optstring β€” Print the optstring parameter to getopt(3) to help writing wrapper scripts. Tiny little helper for the wrapper-script girlies.

🌈 SEE ALSO 🌈

πŸ‘‘ HISTORY πŸ‘‘

The vinylhist utility was developed by Poul-Henning Kamp in cooperation with Verdens Gang AS and Redpill-Linpro. This manual page was written by Dag-Erling SmΓΈrgrav. Founding-father lore, honestly.

This document is licensed under the same licence as Vinyl Cache itself. See LICENCE for details.

  • Copyright (c) 2006 Verdens Gang AS
  • Copyright (c) 2006-2015 Varnish Software AS

Okay that's the whole vinylhist(1) situation, bestie. Signed off from the General Commands Manual β€” vinylhist(1), with the copyright dates 2006 and 2006-2015 living above. Periodt. πŸ«ΆπŸ’–

πŸ“¦ where this page comes from