1VARNISH-COUNTERS(7)                                        VARNISH-COUNTERS(7)
2
3
4

NAME

6       varnish-counters - Varnish counter field definitions
7

MAIN – MAIN COUNTERS

9       summs counter - debug
10          stat summ operations
11
12          Number  of  times  per-thread statistics were summed into the global
13          counters.
14
15       uptime counter - info
16          Child process uptime
17
18          How long the child process has been running.
19
20       sess_conn counter - info
21          Sessions accepted
22
23          Count of sessions successfully accepted
24
25       sess_drop counter - info
26          Sessions dropped
27
28          Count of sessions silently dropped due to lack of worker thread.
29
30       sess_fail counter - info
31          Session accept failures
32
33          Count of failures to accept TCP connection.
34
35          This counter is the sum of the sess_fail_* counters, which give more
36          detailed information.
37
38       sess_fail_econnaborted counter - info
39          Session accept failures: connection aborted
40
41          Detailed  reason  for  sess_fail:  Connection aborted by the client,
42          usually harmless.
43
44       sess_fail_eintr counter - info
45          Session accept failures: interrupted system call
46
47          Detailed reason for sess_fail: The accept()  call  was  interrupted,
48          usually harmless
49
50       sess_fail_emfile counter - info
51          Session accept failures: too many open files
52
53          Detailed  reason  for  sess_fail:  No file descriptor was available.
54          Consider raising RLIMIT_NOFILE (see ulimit -n).
55
56       sess_fail_ebadf counter - info
57          Session accept failures: bad file descriptor
58
59          Detailed reason for sess_fail: The listen socket file descriptor was
60          invalid. Should never happen.
61
62       sess_fail_enomem counter - info
63          Session accept failures: not enough memory
64
65          Detailed  reason for sess_fail: Most likely insufficient socket buf‐
66          fer memory. Should never happen
67
68       sess_fail_other counter - info
69          Session accept failures: other
70
71          Detailed reason for sess_fail: neither of the above,  see  SessError
72          log (varnishlog -g raw -i SessError).
73
74       client_req_400 counter - info
75          Client requests received, subject to 400 errors
76
77          400 means we couldn't make sense of the request, it was malformed in
78          some drastic way.
79
80       client_req_417 counter - info
81          Client requests received, subject to 417 errors
82
83          417 means that something went wrong with an Expect: header.
84
85       client_req counter - info
86          Good client requests received
87
88          The count of parseable client requests seen.
89
90       cache_hit counter - info
91          Cache hits
92
93          Count of cache hits.  A cache hit indicates that an object has  been
94          delivered to a client without fetching it from a backend server.
95
96       cache_hit_grace counter - info
97          Cache grace hits
98
99          Count  of  cache  hits with grace. A cache hit with grace is a cache
100          hit where the object is  expired.  Note  that  such  hits  are  also
101          included in the cache_hit counter.
102
103       cache_hitpass counter - info
104          Cache hits for pass.
105
106          Count  of hits for pass. A cache hit for pass indicates that Varnish
107          is going to pass the request to the backend and  this  decision  has
108          been  cached in it self. This counts how many times the cached deci‐
109          sion is being used.
110
111       cache_hitmiss counter - info
112          Cache hits for miss.
113
114          Count of hits for miss. A cache hit for miss indicates that  Varnish
115          is  going to proceed as for a cache miss without request coalescing,
116          and this decision has been cached. This counts how  many  times  the
117          cached decision is being used.
118
119       cache_miss counter - info
120          Cache misses
121
122          Count  of misses. A cache miss indicates the object was fetched from
123          the backend before delivering it to the client.
124
125       backend_conn counter - info
126          Backend conn. success
127
128          How many backend connections have successfully been established.
129
130       backend_unhealthy counter - info
131          Backend conn. not attempted
132
133       backend_busy counter - info
134          Backend conn. too many
135
136       backend_fail counter - info
137          Backend conn. failures
138
139       backend_reuse counter - info
140          Backend conn. reuses
141
142          Count of backend connection reuses. This counter is increased  when‐
143          ever we reuse a recycled connection.
144
145       backend_recycle counter - info
146          Backend conn. recycles
147
148          Count  of  backend  connection  recycles.  This counter is increased
149          whenever we have a keep-alive connection that is put back  into  the
150          pool  of  connections.  It  has  not yet been used, but it might be,
151          unless the backend closes it.
152
153       backend_retry counter - info
154          Backend conn. retry
155
156       fetch_head counter - info
157          Fetch no body (HEAD)
158
159          beresp with no body because the request is HEAD.
160
161       fetch_length counter - info
162          Fetch with Length
163
164          beresp.body with Content-Length.
165
166       fetch_chunked counter - info
167          Fetch chunked
168
169          beresp.body with Chunked.
170
171       fetch_eof counter - info
172          Fetch EOF
173
174          beresp.body with EOF.
175
176       fetch_bad counter - info
177          Fetch bad T-E
178
179          beresp.body length/fetch could not be determined.
180
181       fetch_none counter - info
182          Fetch no body
183
184          beresp.body empty
185
186       fetch_1xx counter - info
187          Fetch no body (1xx)
188
189          beresp with no body because of 1XX response.
190
191       fetch_204 counter - info
192          Fetch no body (204)
193
194          beresp with no body because of 204 response.
195
196       fetch_304 counter - info
197          Fetch no body (304)
198
199          beresp with no body because of 304 response.
200
201       fetch_failed counter - info
202          Fetch failed (all causes)
203
204          beresp fetch failed.
205
206       fetch_no_thread counter - info
207          Fetch failed (no thread)
208
209          beresp fetch failed, no thread available.
210
211       pools gauge - info
212          Number of thread pools
213
214          Number  of  thread  pools.  See  also  parameter  thread_pools.  NB:
215          Presently pools cannot be removed once created.
216
217       threads gauge - info
218          Total number of threads
219
220          Number  of  threads  in all pools. See also parameters thread_pools,
221          thread_pool_min and thread_pool_max.
222
223       threads_limited counter - info
224          Threads hit max
225
226          Number of times more threads were needed, but limit was reached in a
227          thread pool. See also parameter thread_pool_max.
228
229       threads_created counter - info
230          Threads created
231
232          Total number of threads created in all pools.
233
234       threads_destroyed counter - info
235          Threads destroyed
236
237          Total number of threads destroyed in all pools.
238
239       threads_failed counter - info
240          Thread creation failed
241
242          Number  of  times creating a thread failed. See VSL::Debug for diag‐
243          nostics. See also parameter thread_fail_delay.
244
245       thread_queue_len gauge - info
246          Length of session queue
247
248          Length of session queue waiting for threads. NB: Only  updates  once
249          per second. See also parameter thread_queue_limit.
250
251       busy_sleep counter - info
252          Number of requests sent to sleep on busy objhdr
253
254          Number  of  requests  sent  to sleep without a worker thread because
255          they found a busy object.
256
257       busy_wakeup counter - info
258          Number of requests woken after sleep on busy objhdr
259
260          Number of requests taken off the busy object sleep list and resched‐
261          uled.
262
263       busy_killed counter - info
264          Number of requests killed after sleep on busy objhdr
265
266          Number  of  requests  killed  from the busy object sleep list due to
267          lack of resources.
268
269       sess_queued counter - info
270          Sessions queued for thread
271
272          Number of times session was queued waiting for a  thread.  See  also
273          parameter thread_queue_limit.
274
275       sess_dropped counter - info
276          Sessions dropped for thread
277
278          Number  of times an HTTP/1 session was dropped because the queue was
279          too long already. See also parameter thread_queue_limit.
280
281       req_dropped counter - info
282          Requests dropped
283
284          Number of times an HTTP/2 stream was refused because the  queue  was
285          too long already. See also parameter thread_queue_limit.
286
287       n_object gauge - info
288          object structs made
289
290          Approximate  number  of HTTP objects (headers + body, if present) in
291          the cache.
292
293       n_vampireobject gauge - diag
294          unresurrected objects
295
296          Number of unresurrected objects
297
298       n_objectcore gauge - info
299          objectcore structs made
300
301          Approximate number of object metadata elements in  the  cache.  Each
302          object  needs an objectcore, extra objectcores are for hit-for-miss,
303          hit-for-pass and busy objects.
304
305       n_objecthead gauge - info
306          objecthead structs made
307
308          Approximate number of different hash entries in the cache.
309
310       n_backend gauge - info
311          Number of backends
312
313          Number of backends known to us.
314
315       n_expired counter - info
316          Number of expired objects
317
318          Number of objects that expired from cache because of old age.
319
320       n_lru_nuked counter - info
321          Number of LRU nuked objects
322
323          How many objects have been forcefully evicted from storage  to  make
324          room for a new object.
325
326       n_lru_moved counter - diag
327          Number of LRU moved objects
328
329          Number of move operations done on the LRU list.
330
331       n_lru_limited counter - info
332          Reached nuke_limit
333
334          Number  of  times  more  storage  space  were  needed, but limit was
335          reached in a nuke_limit. See also parameter nuke_limit.
336
337       losthdr counter - info
338          HTTP header overflows
339
340       s_sess counter - info
341          Total sessions seen
342
343       s_pipe counter - info
344          Total pipe sessions seen
345
346       s_pass counter - info
347          Total pass-ed requests seen
348
349       s_fetch counter - info
350          Total backend fetches initiated
351
352       s_synth counter - info
353          Total synthetic responses made
354
355       s_req_hdrbytes counter - info
356          Request header bytes
357
358          Total request header bytes received
359
360       s_req_bodybytes counter - info
361          Request body bytes
362
363          Total request body bytes received
364
365       s_resp_hdrbytes counter - info
366          Response header bytes
367
368          Total response header bytes transmitted
369
370       s_resp_bodybytes counter - info
371          Response body bytes
372
373          Total response body bytes transmitted :format:        bytes
374
375       s_pipe_hdrbytes counter - info
376          Pipe request header bytes
377
378          Total request bytes received for piped sessions
379
380       s_pipe_in counter - info
381          Piped bytes from client
382
383          Total number of bytes forwarded from clients in pipe sessions
384
385       s_pipe_out counter - info
386          Piped bytes to client
387
388          Total number of bytes forwarded to clients in pipe sessions
389
390       sess_closed counter - info
391          Session Closed
392
393       sess_closed_err counter - info
394          Session Closed with error
395
396          Total number of sessions closed with errors. See sc_* diag  counters
397          for detailed breakdown
398
399       sess_readahead counter - info
400          Session Read Ahead
401
402       sess_herd counter - diag
403          Session herd
404
405          Number of times the timeout_linger triggered
406
407       sc_rem_close counter - diag
408          Session OK  REM_CLOSE
409
410          Number of session closes with REM_CLOSE (Client Closed)
411
412       sc_req_close counter - diag
413          Session OK  REQ_CLOSE
414
415          Number of session closes with REQ_CLOSE (Client requested close)
416
417       sc_req_http10 counter - diag
418          Session Err REQ_HTTP10
419
420          Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)
421
422       sc_rx_bad counter - diag
423          Session Err RX_BAD
424
425          Number of session closes with Error RX_BAD (Received bad req/resp)
426
427       sc_rx_body counter - diag
428          Session Err RX_BODY
429
430          Number  of  session  closes  with  Error  RX_BODY (Failure receiving
431          req.body)
432
433       sc_rx_junk counter - diag
434          Session Err RX_JUNK
435
436          Number of session closes with Error RX_JUNK (Received junk data)
437
438       sc_rx_overflow counter - diag
439          Session Err RX_OVERFLOW
440
441          Number of session closes with  Error  RX_OVERFLOW  (Received  buffer
442          overflow)
443
444       sc_rx_timeout counter - diag
445          Session Err RX_TIMEOUT
446
447          Number of session closes with Error RX_TIMEOUT (Receive timeout)
448
449       sc_tx_pipe counter - diag
450          Session OK  TX_PIPE
451
452          Number of session closes with TX_PIPE (Piped transaction)
453
454       sc_tx_error counter - diag
455          Session Err TX_ERROR
456
457          Number of session closes with Error TX_ERROR (Error transaction)
458
459       sc_tx_eof counter - diag
460          Session OK  TX_EOF
461
462          Number of session closes with TX_EOF (EOF transmission)
463
464       sc_resp_close counter - diag
465          Session OK  RESP_CLOSE
466
467          Number  of  session  closes  with  RESP_CLOSE (Backend/VCL requested
468          close)
469
470       sc_overload counter - diag
471          Session Err OVERLOAD
472
473          Number of session closes with Error OVERLOAD (Out of some resource)
474
475       sc_pipe_overflow counter - diag
476          Session Err PIPE_OVERFLOW
477
478          Number of session closes  with  Error  PIPE_OVERFLOW  (Session  pipe
479          overflow)
480
481       sc_range_short counter - diag
482          Session Err RANGE_SHORT
483
484          Number  of  session closes with Error RANGE_SHORT (Insufficient data
485          for range)
486
487       sc_req_http20 counter - diag
488          Session Err REQ_HTTP20
489
490          Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)
491
492       sc_vcl_failure counter - diag
493          Session Err VCL_FAILURE
494
495          Number of session closes with Error VCL_FAILURE (VCL failure)
496
497       shm_records counter - diag
498          SHM records
499
500       shm_writes counter - diag
501          SHM writes
502
503       shm_flushes counter - diag
504          SHM flushes due to overflow
505
506       shm_cont counter - diag
507          SHM MTX contention
508
509       shm_cycles counter - diag
510          SHM cycles through buffer
511
512       backend_req counter - info
513          Backend requests made
514
515       n_vcl gauge - info
516          Number of loaded VCLs in total
517
518       n_vcl_avail gauge - diag
519          Number of VCLs available
520
521       n_vcl_discard gauge - diag
522          Number of discarded VCLs
523
524       vcl_fail counter - info
525          VCL failures
526
527          Count of failures which prevented VCL from completing.
528
529       bans gauge - info
530          Count of bans
531
532          Number of all bans in system, including  bans  superseded  by  newer
533          bans and bans already checked by the ban-lurker.
534
535       bans_completed gauge - diag
536          Number of bans marked 'completed'
537
538          Number  of  bans which are no longer active, either because they got
539          checked by the ban-lurker or superseded by newer identical bans.
540
541       bans_obj gauge - diag
542          Number of bans using obj.*
543
544          Number of bans which use obj.* variables.  These bans  can  possibly
545          be washed by the ban-lurker.
546
547       bans_req gauge - diag
548          Number of bans using req.*
549
550          Number  of  bans  which  use req.* variables.  These bans can not be
551          washed by the ban-lurker.
552
553       bans_added counter - diag
554          Bans added
555
556          Counter of bans added to ban list.
557
558       bans_deleted counter - diag
559          Bans deleted
560
561          Counter of bans deleted from ban list.
562
563       bans_tested counter - diag
564          Bans tested against objects (lookup)
565
566          Count of how many bans and objects have  been  tested  against  each
567          other during hash lookup.
568
569       bans_obj_killed counter - diag
570          Objects killed by bans (lookup)
571
572          Number of objects killed by bans during object lookup.
573
574       bans_lurker_tested counter - diag
575          Bans tested against objects (lurker)
576
577          Count  of  how  many  bans and objects have been tested against each
578          other by the ban-lurker.
579
580       bans_tests_tested counter - diag
581          Ban tests tested against objects (lookup)
582
583          Count of how many tests and objects have been  tested  against  each
584          other  during  lookup.  'ban req.url == foo && req.http.host == bar'
585          counts as one in 'bans_tested' and as two in 'bans_tests_tested'
586
587       bans_lurker_tests_tested counter - diag
588          Ban tests tested against objects (lurker)
589
590          Count of how many tests and objects have been  tested  against  each
591          other  by  the  ban-lurker.  'ban req.url == foo && req.http.host ==
592          bar'   counts   as   one   in   'bans_tested'   and   as   two    in
593          'bans_tests_tested'
594
595       bans_lurker_obj_killed counter - diag
596          Objects killed by bans (lurker)
597
598          Number of objects killed by the ban-lurker.
599
600       bans_lurker_obj_killed_cutoff counter - diag
601          Objects killed by bans for cutoff (lurker)
602
603          Number  of  objects  killed  by the ban-lurker to keep the number of
604          bans below ban_cutoff.
605
606       bans_dups counter - diag
607          Bans superseded by other bans
608
609          Count of bans replaced by later identical bans.
610
611       bans_lurker_contention counter - diag
612          Lurker gave way for lookup
613
614          Number of times the ban-lurker had to wait for lookups.
615
616       bans_persisted_bytes gauge - diag
617          Bytes used by the persisted ban lists
618
619          Number of bytes used by the persisted ban lists.
620
621       bans_persisted_fragmentation gauge - diag
622          Extra bytes in persisted ban lists due to fragmentation
623
624          Number of extra bytes accumulated through dropped and completed bans
625          in the persistent ban lists.
626
627       n_purges counter - info
628          Number of purge operations executed
629
630       n_obj_purged counter - info
631          Number of purged objects
632
633       exp_mailed counter - diag
634          Number of objects mailed to expiry thread
635
636          Number of objects mailed to expiry thread for handling.
637
638       exp_received counter - diag
639          Number of objects received by expiry thread
640
641          Number of objects received by expiry thread for handling.
642
643       hcb_nolock counter - debug
644          HCB Lookups without lock
645
646       hcb_lock counter - debug
647          HCB Lookups with lock
648
649       hcb_insert counter - debug
650          HCB Inserts
651
652       esi_errors counter - diag
653          ESI parse errors (unlock)
654
655       esi_warnings counter - diag
656          ESI parse warnings (unlock)
657
658       vmods gauge - info
659          Loaded VMODs
660
661       n_gzip counter - info
662          Gzip operations
663
664       n_gunzip counter - info
665          Gunzip operations
666
667       n_test_gunzip counter - info
668          Test gunzip operations
669
670          Those  operations  occur  when  Varnish receives a compressed object
671          from a backend. They are done to verify the gzip stream  while  it's
672          inserted in storage.
673

MGT – MANAGEMENT PROCESS COUNTERS

675       uptime counter - info
676          Management process uptime
677
678          Uptime in seconds of the management process
679
680       child_start counter - diag
681          Child process started
682
683          Number of times the child process has been started
684
685       child_exit counter - diag
686          Child process normal exit
687
688          Number of times the child process has been cleanly stopped
689
690       child_stop counter - diag
691          Child process unexpected exit
692
693          Number  of  times  the  child  process has exited with an unexpected
694          return code
695
696       child_died counter - diag
697          Child process died (signal)
698
699          Number of times the child process has died due to signals
700
701       child_dump counter - diag
702          Child process core dumped
703
704          Number of times the child process has produced core dumps
705
706       child_panic counter - diag
707          Child process panic
708
709          Number of times the management process has caught a child panic
710

MEMPOOL – MEMORY POOL COUNTERS

712       live gauge - debug
713          In use
714
715       pool gauge - debug
716          In Pool
717
718       sz_wanted gauge - debug
719          Size requested
720
721       sz_actual gauge - debug
722          Size allocated
723
724       allocs counter - debug
725          Allocations
726
727       frees counter - debug
728          Frees
729
730       recycle counter - debug
731          Recycled from pool
732
733       timeout counter - debug
734          Timed out from pool
735
736       toosmall counter - debug
737          Too small to recycle
738
739       surplus counter - debug
740          Too many for pool
741
742       randry counter - debug
743          Pool ran dry
744

SMA – MALLOC STEVEDORE COUNTERS

746       c_req counter - info
747          Allocator requests
748
749          Number of times the storage has been asked to provide a storage seg‐
750          ment.
751
752       c_fail counter - info
753          Allocator failures
754
755          Number of times the storage has failed to provide a storage segment.
756
757       c_bytes counter - info
758          Bytes allocated
759
760          Number of total bytes allocated by this storage.
761
762       c_freed counter - info
763          Bytes freed
764
765          Number of total bytes returned to this storage.
766
767       g_alloc gauge - info
768          Allocations outstanding
769
770          Number of storage allocations outstanding.
771
772       g_bytes gauge - info
773          Bytes outstanding
774
775          Number of bytes allocated from the storage.
776
777       g_space gauge - info
778          Bytes available
779
780          Number of bytes left in the storage.
781

SMU – UMEM STEVEDORE COUNTERS

783       c_req counter - info
784          Allocator requests
785
786          Number of times the storage has been asked to provide a storage seg‐
787          ment.
788
789       c_fail counter - info
790          Allocator failures
791
792          Number of times the storage has failed to provide a storage segment.
793
794       c_bytes counter - info
795          Bytes allocated
796
797          Number of total bytes allocated by this storage.
798
799       c_freed counter - info
800          Bytes freed
801
802          Number of total bytes returned to this storage.
803
804       g_alloc gauge - info
805          Allocations outstanding
806
807          Number of storage allocations outstanding.
808
809       g_bytes gauge - info
810          Bytes outstanding
811
812          Number of bytes allocated from the storage.
813
814       g_space gauge - info
815          Bytes available
816
817          Number of bytes left in the storage.
818

SMF – FILE STEVEDORE COUNTERS

820       c_req counter - info
821          Allocator requests
822
823          Number of times the storage has been asked to provide a storage seg‐
824          ment.
825
826       c_fail counter - info
827          Allocator failures
828
829          Number of times the storage has failed to provide a storage segment.
830
831       c_bytes counter - info
832          Bytes allocated
833
834          Number of total bytes allocated by this storage.
835
836       c_freed counter - info
837          Bytes freed
838
839          Number of total bytes returned to this storage.
840
841       g_alloc gauge - info
842          Allocations outstanding
843
844          Number of storage allocations outstanding.
845
846       g_bytes gauge - info
847          Bytes outstanding
848
849          Number of bytes allocated from the storage.
850
851       g_space gauge - info
852          Bytes available
853
854          Number of bytes left in the storage.
855
856       g_smf gauge - info
857          N struct smf
858
859       g_smf_frag gauge - info
860          N small free smf
861
862       g_smf_large gauge - info
863          N large free smf
864

VBE – BACKEND COUNTERS

866       happy bitmap - info
867          Happy health probes
868
869       bereq_hdrbytes counter - info
870          Request header bytes
871
872          Total backend request header bytes sent
873
874       bereq_bodybytes counter - info
875          Request body bytes
876
877          Total backend request body bytes sent
878
879       beresp_hdrbytes counter - info
880          Response header bytes
881
882          Total backend response header bytes received
883
884       beresp_bodybytes counter - info
885          Response body bytes
886
887          Total backend response body bytes received
888
889       pipe_hdrbytes counter - info
890          Pipe request header bytes
891
892          Total request bytes sent for piped sessions
893
894       pipe_out counter - info
895          Piped bytes to backend
896
897          Total number of bytes forwarded to backend in pipe sessions
898
899       pipe_in counter - info
900          Piped bytes from backend
901
902          Total number of bytes forwarded from backend in pipe sessions
903
904       conn gauge - info
905          Concurrent connections to backend
906
907       req counter - info
908          Backend requests sent
909
910       unhealthy counter - info
911          Fetches not attempted due to backend being unhealthy
912
913       busy counter - info
914          Fetches not attempted due to backend being busy
915
916          Number of times the max_connections limit was reached
917
918       fail counter - info
919          Connections failed
920
921          Counter  of  failed  opens. Detailed reasons are given in the fail_*
922          counters (DIAG level) and in the log under the FetchError tag.
923
924          This counter is the sum of all detailed fail_* counters.
925
926          All fail_* counters may be slightly inaccurate for efficiency.
927
928       fail_eacces counter - diag
929          Connections failed with EACCES or EPERM
930
931       fail_eaddrnotavail counter - diag
932          Connections failed with EADDRNOTAVAIL
933
934       fail_econnrefused counter - diag
935          Connections failed with ECONNREFUSED
936
937       fail_enetunreach counter - diag
938          Connections failed with ENETUNREACH
939
940       fail_etimedout counter - diag
941          Connections failed ETIMEDOUT
942
943       fail_other counter - diag
944          Connections failed for other reason
945
946       helddown counter - diag
947          Connection opens not attempted
948
949          Connections not attempted during the backend_local_error_holddown or
950          backend_remote_error_holddown  interval  after a fundamental connec‐
951          tion issue.
952

LCK – LOCK COUNTERS

954          Counters which track  the  activity  in  the  different  classes  of
955          mutex-locks.
956
957          The  counts  may  be  slightly wrong if there are more than one lock
958          instantiated in each class (ie: .creat > 1)
959
960       creat counter - debug
961          Created locks
962
963       destroy counter - debug
964          Destroyed locks
965
966       locks counter - debug
967          Lock Operations
968

AUTHORS

970       This man page was written  by  Lasse  Karstensen,  using  content  from
971       vsc2rst written by Tollef Fog Heen.
972
973
974
975
976                                                           VARNISH-COUNTERS(7)
Impressum