⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.96
Server IP:
147.93.97.220
Server:
Linux srv843233 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
varnish
/
html
/
reference
/
View File Name :
varnish-counters.html
<!DOCTYPE html> <html lang="en" data-content_root="../"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>varnish-counters — Varnish version 7.5.0 documentation</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/classic.css?v=e2714048" /> <script src="../_static/documentation_options.js?v=8214db13"></script> <script src="../_static/doctools.js?v=888ff710"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="varnishstat" href="varnishstat.html" /> <link rel="prev" title="varnishtop" href="varnishtop.html" /> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="varnishstat.html" title="varnishstat" accesskey="N">next</a> |</li> <li class="right" > <a href="varnishtop.html" title="varnishtop" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">Varnish version 7.5.0 documentation</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">The Varnish Reference Manual</a> »</li> <li class="nav-item nav-item-this"><a href="">varnish-counters</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <section id="varnish-counters"> <span id="varnish-counters-7"></span><h1>varnish-counters<a class="headerlink" href="#varnish-counters" title="Link to this heading">¶</a></h1> <section id="varnish-counter-field-definitions"> <h2>Varnish counter field definitions<a class="headerlink" href="#varnish-counter-field-definitions" title="Link to this heading">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">Manual section<span class="colon">:</span></dt> <dd class="field-odd"><p>7</p> </dd> </dl> <section id="lck-lock-counters"> <h3>LCK – Lock Counters<a class="headerlink" href="#lck-lock-counters" title="Link to this heading">¶</a></h3> <blockquote> <div><p>Counters which track the activity in the different classes of mutex-locks.</p> <p>The counts may be slightly wrong if there are more than one lock instantiated in each class (ie: .creat > 1)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">creat</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Created locks</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">destroy</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Destroyed locks</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">locks</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Lock Operations</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">dbg_busy</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Contended lock operations</p> <p>If the <code class="docutils literal notranslate"><span class="pre">lck</span></code> debug bit is set: Lock operations which returned EBUSY on the first locking attempt.</p> <p>If the <code class="docutils literal notranslate"><span class="pre">lck</span></code> debug bit is unset, this counter will never be incremented even if lock operations are contended.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">dbg_try_fail</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Contended trylock operations</p> <p>If the <code class="docutils literal notranslate"><span class="pre">lck</span></code> debug bit is set: Trylock operations which returned EBUSY.</p> <p>If the <code class="docutils literal notranslate"><span class="pre">lck</span></code> debug bit is unset, this counter will never be incremented even if lock operations are contended.</p> </div></blockquote> </section> <section id="main-main-counters"> <h3>MAIN – Main counters<a class="headerlink" href="#main-main-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">summs</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>stat summ operations</p> <p>Number of times per-thread statistics were summed into the global counters.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">uptime</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Child process uptime</p> <p>How long the child process has been running.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_conn</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Sessions accepted</p> <p>Count of sessions successfully accepted</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures</p> <p>Count of failures to accept TCP connection.</p> <p>This counter is the sum of the sess_fail_* counters, which give more detailed information.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_econnaborted</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: connection aborted</p> <p>Detailed reason for sess_fail: Connection aborted by the client, usually harmless.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_eintr</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: interrupted system call</p> <p>Detailed reason for sess_fail: The accept() call was interrupted, usually harmless</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_emfile</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: too many open files</p> <p>Detailed reason for sess_fail: No file descriptor was available. Consider raising RLIMIT_NOFILE (see ulimit -n).</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_ebadf</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: bad file descriptor</p> <p>Detailed reason for sess_fail: The listen socket file descriptor was invalid. Should never happen.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_enomem</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: not enough memory</p> <p>Detailed reason for sess_fail: Most likely insufficient socket buffer memory. Should never happen</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_fail_other</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session accept failures: other</p> <p>Detailed reason for sess_fail: neither of the above, see SessError log (varnishlog -g raw -i SessError).</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">client_req_400</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Client requests received, subject to 400 errors</p> <p>400 means we couldn’t make sense of the request, it was malformed in some drastic way.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">client_req_417</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Client requests received, subject to 417 errors</p> <p>417 means that something went wrong with an Expect: header.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">client_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Good client requests received</p> <p>The count of parseable client requests seen.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">esi_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>ESI subrequests</p> <p>Number of ESI subrequests made.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">cache_hit</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Cache hits</p> <p>Count of cache hits. A cache hit indicates that an object has been delivered to a client without fetching it from a backend server.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">cache_hit_grace</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Cache grace hits</p> <p>Count of cache hits with grace. A cache hit with grace is a cache hit where the object is expired. Note that such hits are also included in the cache_hit counter.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">cache_hitpass</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Cache hits for pass.</p> <p>Count of hits for pass. A cache hit for pass indicates that Varnish is going to pass the request to the backend and this decision has been cached in it self. This counts how many times the cached decision is being used.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">cache_hitmiss</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Cache hits for miss.</p> <p>Count of hits for miss. A cache hit for miss indicates that Varnish is going to proceed as for a cache miss without request coalescing, and this decision has been cached. This counts how many times the cached decision is being used.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">cache_miss</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Cache misses</p> <p>Count of misses. A cache miss indicates the object was fetched from the backend before delivering it to the client.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">beresp_uncacheable</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><blockquote> <div><p>Uncacheable backend responses</p> </div></blockquote> <p>Count of backend responses considered uncacheable.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">beresp_shortlived</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><blockquote> <div><p>Shortlived objects</p> </div></blockquote> <p>Count of objects created with ttl+grace+keep shorter than the ‘shortlived’ runtime parameter.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_conn</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. success</p> <p>How many backend connections have successfully been established.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_unhealthy</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. not attempted</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_busy</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. too many</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. failures</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_reuse</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. reuses</p> <p>Count of backend connection reuses. This counter is increased whenever we reuse a recycled connection.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_recycle</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. recycles</p> <p>Count of backend connection recycles. This counter is increased whenever we have a keep-alive connection that is put back into the pool of connections. It has not yet been used, but it might be, unless the backend closes it.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_retry</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend conn. retry</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_head</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch no body (HEAD)</p> <p>beresp with no body because the request is HEAD.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_length</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch with Length</p> <p>beresp.body with Content-Length.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_chunked</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch chunked</p> <p>beresp.body with Chunked.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_eof</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch EOF</p> <p>beresp.body with EOF.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_bad</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch bad T-E</p> <p>beresp.body length/fetch could not be determined.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_none</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch no body</p> <p>beresp.body empty</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_1xx</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch no body (1xx)</p> <p>beresp with no body because of 1XX response.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_204</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch no body (204)</p> <p>beresp with no body because of 204 response.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_304</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch no body (304)</p> <p>beresp with no body because of 304 response.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fetch_failed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetch failed (all causes)</p> <p>beresp fetch failed.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bgfetch_no_thread</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Background fetch failed (no thread)</p> <p>A bgfetch triggered by a grace hit failed, no thread available.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pools</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Number of thread pools</p> <p>Number of thread pools. See also parameter thread_pools. NB: Presently pools cannot be removed once created.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">threads</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Total number of threads</p> <p>Number of threads in all pools. See also parameters thread_pools, thread_pool_min and thread_pool_max.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">threads_limited</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Threads hit max</p> <p>Number of times more threads were needed, but limit was reached in a thread pool. See also parameter thread_pool_max.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">threads_created</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Threads created</p> <p>Total number of threads created in all pools.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">threads_destroyed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Threads destroyed</p> <p>Total number of threads destroyed in all pools.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">threads_failed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Thread creation failed</p> <p>Number of times creating a thread failed. See VSL::Debug for diagnostics. See also parameter thread_fail_delay.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">thread_queue_len</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Length of session queue</p> <p>Length of session queue waiting for threads. NB: Only updates once per second. See also parameter thread_queue_limit.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">busy_sleep</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of requests sent to sleep on busy objhdr</p> <p>Number of requests sent to sleep without a worker thread because they found a busy object.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">busy_wakeup</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of requests woken after sleep on busy objhdr</p> <p>Number of requests taken off the busy object sleep list and rescheduled.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">busy_killed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of requests killed after sleep on busy objhdr</p> <p>Number of requests killed from the busy object sleep list due to lack of resources.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_queued</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Sessions queued for thread</p> <p>Number of times session was queued waiting for a thread. See also parameter thread_queue_limit.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_dropped</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Sessions dropped for thread</p> <p>Number of times an HTTP/1 session was dropped because the queue was too long already. See also parameter thread_queue_limit.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">req_dropped</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Requests dropped</p> <p>Number of times an HTTP/2 stream was refused because the queue was too long already. See also parameter thread_queue_limit.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">req_reset</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Requests reset</p> <p>Number of times a client left before the VCL processing of its requests completed. For HTTP/2 sessions, either the stream was reset by an RST_STREAM frame from the client, or a stream or connection error occurred.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_object</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>object structs made</p> <p>Approximate number of HTTP objects (headers + body, if present) in the cache.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_vampireobject</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>unresurrected objects</p> <p>Number of unresurrected objects</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_objectcore</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>objectcore structs made</p> <p>Approximate number of object metadata elements in the cache. Each object needs an objectcore, extra objectcores are for hit-for-miss, hit-for-pass and busy objects.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_objecthead</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>objecthead structs made</p> <p>Approximate number of different hash entries in the cache.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_backend</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Number of backends</p> <p>Number of backends known to us.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_expired</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of expired objects</p> <p>Number of objects that expired from cache because of old age.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_superseded</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Number of superseded objects</p> <p>Number of times an object was superseded by a new one.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_lru_nuked</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of LRU nuked objects</p> <p>How many objects have been forcefully evicted from storage to make room for a new object.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_lru_moved</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Number of LRU moved objects</p> <p>Number of move operations done on the LRU list.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_lru_limited</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Reached nuke_limit</p> <p>Number of times more storage space were needed, but limit was reached in a nuke_limit. See also parameter nuke_limit.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">losthdr</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>HTTP header overflows</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_sess</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total sessions seen</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_pipe</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Number of ongoing pipe sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pipe_limited</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Pipes hit pipe_sess_max</p> <p>Number of times more pipes were needed, but the limit was reached. See also parameter pipe_sess_max.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_pipe</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total pipe sessions seen</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_pass</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total pass-ed requests seen</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_fetch</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total backend fetches initiated</p> <p>Total backend fetches initiated, including background fetches.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_bgfetch</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total backend background fetches initiated</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_synth</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Total synthetic responses made</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_req_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Request header bytes</p> <p>Total request header bytes received</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_req_bodybytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Request body bytes</p> <p>Total request body bytes received</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_resp_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Response header bytes</p> <p>Total response header bytes transmitted</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_resp_bodybytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Response body bytes</p> <p>Total response body bytes transmitted</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_pipe_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Pipe request header bytes</p> <p>Total request bytes received for piped sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_pipe_in</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Piped bytes from client</p> <p>Total number of bytes forwarded from clients in pipe sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">s_pipe_out</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Piped bytes to client</p> <p>Total number of bytes forwarded to clients in pipe sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_closed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session Closed</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_closed_err</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session Closed with error</p> <p>Total number of sessions closed with errors. See sc_* diag counters for detailed breakdown</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_readahead</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Session Read Ahead</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sess_herd</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session herd</p> <p>Number of times the timeout_linger triggered</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rem_close</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session OK REM_CLOSE</p> <p>Number of session closes with REM_CLOSE (Client Closed)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_req_close</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session OK REQ_CLOSE</p> <p>Number of session closes with REQ_CLOSE (Client requested close)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_req_http10</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err REQ_HTTP10</p> <p>Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_bad</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_BAD</p> <p>Number of session closes with Error RX_BAD (Received bad req/resp)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_body</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_BODY</p> <p>Number of session closes with Error RX_BODY (Failure receiving req.body)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_junk</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_JUNK</p> <p>Number of session closes with Error RX_JUNK (Received junk data)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_OVERFLOW</p> <p>Number of session closes with Error RX_OVERFLOW (Received buffer overflow)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_timeout</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_TIMEOUT</p> <p>Number of session closes with Error RX_TIMEOUT (Receive timeout)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rx_close_idle</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RX_CLOSE_IDLE</p> <p>Number of session closes with Error RX_CLOSE_IDLE: timeout_idle has been exceeded while waiting for a client request.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_tx_pipe</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session OK TX_PIPE</p> <p>Number of session closes with TX_PIPE (Piped transaction)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_tx_error</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err TX_ERROR</p> <p>Number of session closes with Error TX_ERROR (Error transaction)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_tx_eof</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session OK TX_EOF</p> <p>Number of session closes with TX_EOF (EOF transmission)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_resp_close</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session OK RESP_CLOSE</p> <p>Number of session closes with RESP_CLOSE (Backend/VCL requested close)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_overload</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err OVERLOAD</p> <p>Number of session closes with Error OVERLOAD (Out of some resource)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_pipe_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err PIPE_OVERFLOW</p> <p>Number of session closes with Error PIPE_OVERFLOW (Session pipe overflow)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_range_short</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err RANGE_SHORT</p> <p>Number of session closes with Error RANGE_SHORT (Insufficient data for range)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_req_http20</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err REQ_HTTP20</p> <p>Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_vcl_failure</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err VCL_FAILURE</p> <p>Number of session closes with Error VCL_FAILURE (VCL failure)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_rapid_reset</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><blockquote> <div><p>Session Err RAPID_RESET</p> </div></blockquote> <p>Number of times we failed an http/2 session because it hit its configured limits for the number of permitted rapid stream resets.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sc_bankrupt</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Session Err BANKRUPT</p> <p>Number of times we failed an http/2 session because all the streams were waiting for their windows to be credited when h2_window_timeout triggered.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">client_resp_500</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Delivery failed due to insufficient workspace.</p> <p>Number of times we failed a response due to running out of workspace memory during delivery.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">ws_backend_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>workspace_backend overflows</p> <p>Number of times we ran out of space in workspace_backend.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">ws_client_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>workspace_client overflows</p> <p>Number of times we ran out of space in workspace_client.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">ws_thread_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>workspace_thread overflows</p> <p>Number of times we ran out of space in workspace_thread.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">ws_session_overflow</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>workspace_session overflows</p> <p>Number of times we ran out of space in workspace_session.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_records</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM records</p> <p>Number of log records written to the shared memory log.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_writes</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM writes</p> <p>Number of individual writes to the shared memory log. A single write may batch multiple records for bufferred tasks.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_flushes</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM flushes due to overflow</p> <p>Number of writes performed before the end of a bufferred task because adding a record to a batch would exceed vsl_buffer.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_cont</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM lock contention</p> <p>Number of times a write had to wait for the lock.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_cycles</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM cycles through VSL space</p> <p>Number of times a write of log records would reach past the end of the shared memory log, cycling back to the beginning.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">shm_bytes</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>SHM bytes</p> <p>Number of bytes written to the shared memory log.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">backend_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend requests made</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_vcl</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Number of loaded VCLs in total</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_vcl_avail</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Number of VCLs available</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_vcl_discard</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Number of discarded VCLs</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">vcl_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>VCL failures</p> <p>Count of failures which prevented VCL from completing.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Count of bans</p> <p>Number of all bans in system, including bans superseded by newer bans and bans already checked by the ban-lurker.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_completed</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Number of bans marked ‘completed’</p> <p>Number of bans which are no longer active, either because they got checked by the ban-lurker or superseded by newer identical bans.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_obj</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Number of bans using obj.*</p> <p>Number of bans which use obj.* variables. These bans can possibly be washed by the ban-lurker.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_req</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Number of bans using req.*</p> <p>Number of bans which use req.* variables. These bans can not be washed by the ban-lurker.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_added</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Bans added</p> <p>Counter of bans added to ban list.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_deleted</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Bans deleted</p> <p>Counter of bans deleted from ban list.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_tested</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Bans tested against objects (lookup)</p> <p>Count of how many bans and objects have been tested against each other during hash lookup.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_obj_killed</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Objects killed by bans (lookup)</p> <p>Number of objects killed by bans during object lookup.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_lurker_tested</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Bans tested against objects (lurker)</p> <p>Count of how many bans and objects have been tested against each other by the ban-lurker.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_tests_tested</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Ban tests tested against objects (lookup)</p> <p>Count of how many tests and objects have been tested against each other during lookup. ‘ban req.url == foo && req.http.host == bar’ counts as one in ‘bans_tested’ and as two in ‘bans_tests_tested’</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_lurker_tests_tested</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Ban tests tested against objects (lurker)</p> <p>Count of how many tests and objects have been tested against each other by the ban-lurker. ‘ban req.url == foo && req.http.host == bar’ counts as one in ‘bans_tested’ and as two in ‘bans_tests_tested’</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_lurker_obj_killed</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Objects killed by bans (lurker)</p> <p>Number of objects killed by the ban-lurker.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_lurker_obj_killed_cutoff</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Objects killed by bans for cutoff (lurker)</p> <p>Number of objects killed by the ban-lurker to keep the number of bans below ban_cutoff.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_dups</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Bans superseded by other bans</p> <p>Count of bans replaced by later identical bans.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_lurker_contention</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Lurker gave way for lookup</p> <p>Number of times the ban-lurker had to wait for lookups.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_persisted_bytes</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Bytes used by the persisted ban lists</p> <p>Number of bytes used by the persisted ban lists.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bans_persisted_fragmentation</span></code> – <cite>gauge</cite> - diag</p> <blockquote> <div><p>Extra bytes in persisted ban lists due to fragmentation</p> <p>Number of extra bytes accumulated through dropped and completed bans in the persistent ban lists.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_purges</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of purge operations executed</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_obj_purged</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Number of purged objects</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">exp_mailed</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Number of objects mailed to expiry thread</p> <p>Number of objects mailed to expiry thread for handling.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">exp_received</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Number of objects received by expiry thread</p> <p>Number of objects received by expiry thread for handling.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">hcb_nolock</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>HCB Lookups without lock</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">hcb_lock</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>HCB Lookups with lock</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">hcb_insert</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>HCB Inserts</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">esi_errors</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>ESI parse errors (unlock)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">esi_warnings</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>ESI parse warnings (unlock)</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">vmods</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Loaded VMODs</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_gzip</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Gzip operations</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_gunzip</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Gunzip operations</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">n_test_gunzip</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Test gunzip operations</p> <p>Those operations occur when Varnish receives a compressed object from a backend. They are done to verify the gzip stream while it’s inserted in storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">http1_iovs_flush</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Premature iovec flushes</p> <p>Number of additional writes performed on HTTP1 connections because the number of IO vectors was too small to submit all possible IO in one go. This number is configured through the <code class="docutils literal notranslate"><span class="pre">http1_iovs</span></code> parameter for client connections and implicitly defined by the amount of free workspace for backend connections.</p> </div></blockquote> </section> <section id="mempool-memory-pool-counters"> <h3>MEMPOOL – Memory Pool Counters<a class="headerlink" href="#mempool-memory-pool-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">live</span></code> – <cite>gauge</cite> - debug</p> <blockquote> <div><p>In use</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pool</span></code> – <cite>gauge</cite> - debug</p> <blockquote> <div><p>In Pool</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sz_wanted</span></code> – <cite>gauge</cite> - debug</p> <blockquote> <div><p>Size requested</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">sz_actual</span></code> – <cite>gauge</cite> - debug</p> <blockquote> <div><p>Size allocated</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">allocs</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Allocations</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">frees</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Frees</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">recycle</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Recycled from pool</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">timeout</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Timed out from pool</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">toosmall</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Too small to recycle</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">surplus</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Too many for pool</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">randry</span></code> – <cite>counter</cite> - debug</p> <blockquote> <div><p>Pool ran dry</p> </div></blockquote> </section> <section id="mgt-management-process-counters"> <h3>MGT – Management Process Counters<a class="headerlink" href="#mgt-management-process-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">uptime</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Management process uptime</p> <p>Uptime in seconds of the management process</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_start</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process started</p> <p>Number of times the child process has been started</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_exit</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process normal exit</p> <p>Number of times the child process has been cleanly stopped</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_stop</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process unexpected exit</p> <p>Number of times the child process has exited with an unexpected return code</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_died</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process died (signal)</p> <p>Number of times the child process has died due to signals</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_dump</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process core dumped</p> <p>Number of times the child process has produced core dumps</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">child_panic</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Child process panic</p> <p>Number of times the management process has caught a child panic</p> </div></blockquote> </section> <section id="sma-malloc-stevedore-counters"> <h3>SMA – Malloc Stevedore Counters<a class="headerlink" href="#sma-malloc-stevedore-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">c_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator requests</p> <p>Number of times the storage has been asked to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator failures</p> <p>Number of times the storage has failed to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_bytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes allocated</p> <p>Number of total bytes allocated by this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_freed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes freed</p> <p>Number of total bytes returned to this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_alloc</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Allocations outstanding</p> <p>Number of storage allocations outstanding.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_bytes</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes outstanding</p> <p>Number of bytes allocated from the storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_space</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes available</p> <p>Number of bytes left in the storage.</p> </div></blockquote> </section> <section id="smf-file-stevedore-counters"> <h3>SMF – File Stevedore Counters<a class="headerlink" href="#smf-file-stevedore-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">c_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator requests</p> <p>Number of times the storage has been asked to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator failures</p> <p>Number of times the storage has failed to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_bytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes allocated</p> <p>Number of total bytes allocated by this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_freed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes freed</p> <p>Number of total bytes returned to this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_alloc</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Allocations outstanding</p> <p>Number of storage allocations outstanding.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_bytes</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes outstanding</p> <p>Number of bytes allocated from the storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_space</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes available</p> <p>Number of bytes left in the storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_smf</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>N struct smf</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_smf_frag</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>N small free smf</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_smf_large</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>N large free smf</p> </div></blockquote> </section> <section id="smu-umem-stevedore-counters"> <h3>SMU – Umem Stevedore Counters<a class="headerlink" href="#smu-umem-stevedore-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">c_req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator requests</p> <p>Number of times the storage has been asked to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Allocator failures</p> <p>Number of times the storage has failed to provide a storage segment.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_bytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes allocated</p> <p>Number of total bytes allocated by this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">c_freed</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Bytes freed</p> <p>Number of total bytes returned to this storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_alloc</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Allocations outstanding</p> <p>Number of storage allocations outstanding.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_bytes</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes outstanding</p> <p>Number of bytes allocated from the storage.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">g_space</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Bytes available</p> <p>Number of bytes left in the storage.</p> </div></blockquote> </section> <section id="vbe-backend-counters"> <h3>VBE – Backend Counters<a class="headerlink" href="#vbe-backend-counters" title="Link to this heading">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">happy</span></code> – <cite>bitmap</cite> - info</p> <blockquote> <div><p>Happy health probes</p> <p>Represents the last probe results as a bitmap. Happy probes are bits set to 1, and the unhappy ones are set to 0. The highest bits represent the oldest probes.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bereq_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Request header bytes</p> <p>Total backend request header bytes sent</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">bereq_bodybytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Request body bytes</p> <p>Total backend request body bytes sent</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">beresp_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Response header bytes</p> <p>Total backend response header bytes received</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">beresp_bodybytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Response body bytes</p> <p>Total backend response body bytes received</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pipe_hdrbytes</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Pipe request header bytes</p> <p>Total request bytes sent for piped sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pipe_out</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Piped bytes to backend</p> <p>Total number of bytes forwarded to backend in pipe sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">pipe_in</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Piped bytes from backend</p> <p>Total number of bytes forwarded from backend in pipe sessions</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">conn</span></code> – <cite>gauge</cite> - info</p> <blockquote> <div><p>Concurrent connections used</p> <p>The number of currently used connections to the backend. This number is always less or equal to the number of connections to the backend (as, for example shown as ESTABLISHED for TCP connections in netstat) due to connection pooling.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">req</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Backend requests sent</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">unhealthy</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetches not attempted due to backend being unhealthy</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">busy</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Fetches not attempted due to backend being busy</p> <p>Number of times the max_connections limit was reached</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail</span></code> – <cite>counter</cite> - info</p> <blockquote> <div><p>Connections failed</p> <p>Counter of failed opens. Detailed reasons are given in the fail_* counters (DIAG level) and in the log under the FetchError tag.</p> <p>This counter is the sum of all detailed fail_* counters.</p> <p>All fail_* counters may be slightly inaccurate for efficiency.</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_eacces</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed with EACCES or EPERM</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_eaddrnotavail</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed with EADDRNOTAVAIL</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_econnrefused</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed with ECONNREFUSED</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_enetunreach</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed with ENETUNREACH</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_etimedout</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed ETIMEDOUT</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">fail_other</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connections failed for other reason</p> </div></blockquote> <p><code class="docutils literal notranslate"><span class="pre">helddown</span></code> – <cite>counter</cite> - diag</p> <blockquote> <div><p>Connection opens not attempted</p> <p>Connections not attempted during the backend_local_error_holddown or backend_remote_error_holddown interval after a fundamental connection issue.</p> </div></blockquote> </section> <section id="authors"> <h3>AUTHORS<a class="headerlink" href="#authors" title="Link to this heading">¶</a></h3> <p>This man page was written by Lasse Karstensen, using content from vsc2rst written by Tollef Fog Heen.</p> </section> </section> </section> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <div> <h3><a href="../index.html">Table of Contents</a></h3> <ul> <li><a class="reference internal" href="#">varnish-counters</a><ul> <li><a class="reference internal" href="#varnish-counter-field-definitions">Varnish counter field definitions</a><ul> <li><a class="reference internal" href="#lck-lock-counters">LCK – Lock Counters</a></li> <li><a class="reference internal" href="#main-main-counters">MAIN – Main counters</a></li> <li><a class="reference internal" href="#mempool-memory-pool-counters">MEMPOOL – Memory Pool Counters</a></li> <li><a class="reference internal" href="#mgt-management-process-counters">MGT – Management Process Counters</a></li> <li><a class="reference internal" href="#sma-malloc-stevedore-counters">SMA – Malloc Stevedore Counters</a></li> <li><a class="reference internal" href="#smf-file-stevedore-counters">SMF – File Stevedore Counters</a></li> <li><a class="reference internal" href="#smu-umem-stevedore-counters">SMU – Umem Stevedore Counters</a></li> <li><a class="reference internal" href="#vbe-backend-counters">VBE – Backend Counters</a></li> <li><a class="reference internal" href="#authors">AUTHORS</a></li> </ul> </li> </ul> </li> </ul> </div> <div> <h4>Previous topic</h4> <p class="topless"><a href="varnishtop.html" title="previous chapter">varnishtop</a></p> </div> <div> <h4>Next topic</h4> <p class="topless"><a href="varnishstat.html" title="next chapter">varnishstat</a></p> </div> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/reference/varnish-counters.rst.txt" rel="nofollow">Show Source</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <input type="submit" value="Go" /> </form> </div> </div> <script>document.getElementById('searchbox').style.display = "block"</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="varnishstat.html" title="varnishstat" >next</a> |</li> <li class="right" > <a href="varnishtop.html" title="varnishtop" >previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">Varnish version 7.5.0 documentation</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" >The Varnish Reference Manual</a> »</li> <li class="nav-item nav-item-this"><a href="">varnish-counters</a></li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2010-2014, Varnish Software AS. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6. </div> </body> </html>