1VARNISH-COUNTERS(7) VARNISH-COUNTERS(7)
2
3
4
6 varnish-counters - Varnish counter field definitions
7
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 n_pipe – gauge - info
344 Number of ongoing pipe sessions
345
346 pipe_limited – counter - info
347 Pipes hit pipe_sess_max
348
349 Number of times more pipes were needed, but the limit was reached.
350 See also parameter pipe_sess_max.
351
352 s_pipe – counter - info
353 Total pipe sessions seen
354
355 s_pass – counter - info
356 Total pass-ed requests seen
357
358 s_fetch – counter - info
359 Total backend fetches initiated
360
361 s_synth – counter - info
362 Total synthetic responses made
363
364 s_req_hdrbytes – counter - info
365 Request header bytes
366
367 Total request header bytes received
368
369 s_req_bodybytes – counter - info
370 Request body bytes
371
372 Total request body bytes received
373
374 s_resp_hdrbytes – counter - info
375 Response header bytes
376
377 Total response header bytes transmitted
378
379 s_resp_bodybytes – counter - info
380 Response body bytes
381
382 Total response body bytes transmitted
383
384 s_pipe_hdrbytes – counter - info
385 Pipe request header bytes
386
387 Total request bytes received for piped sessions
388
389 s_pipe_in – counter - info
390 Piped bytes from client
391
392 Total number of bytes forwarded from clients in pipe sessions
393
394 s_pipe_out – counter - info
395 Piped bytes to client
396
397 Total number of bytes forwarded to clients in pipe sessions
398
399 sess_closed – counter - info
400 Session Closed
401
402 sess_closed_err – counter - info
403 Session Closed with error
404
405 Total number of sessions closed with errors. See sc_* diag counters
406 for detailed breakdown
407
408 sess_readahead – counter - info
409 Session Read Ahead
410
411 sess_herd – counter - diag
412 Session herd
413
414 Number of times the timeout_linger triggered
415
416 sc_rem_close – counter - diag
417 Session OK REM_CLOSE
418
419 Number of session closes with REM_CLOSE (Client Closed)
420
421 sc_req_close – counter - diag
422 Session OK REQ_CLOSE
423
424 Number of session closes with REQ_CLOSE (Client requested close)
425
426 sc_req_http10 – counter - diag
427 Session Err REQ_HTTP10
428
429 Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)
430
431 sc_rx_bad – counter - diag
432 Session Err RX_BAD
433
434 Number of session closes with Error RX_BAD (Received bad req/resp)
435
436 sc_rx_body – counter - diag
437 Session Err RX_BODY
438
439 Number of session closes with Error RX_BODY (Failure receiving
440 req.body)
441
442 sc_rx_junk – counter - diag
443 Session Err RX_JUNK
444
445 Number of session closes with Error RX_JUNK (Received junk data)
446
447 sc_rx_overflow – counter - diag
448 Session Err RX_OVERFLOW
449
450 Number of session closes with Error RX_OVERFLOW (Received buffer
451 overflow)
452
453 sc_rx_timeout – counter - diag
454 Session Err RX_TIMEOUT
455
456 Number of session closes with Error RX_TIMEOUT (Receive timeout)
457
458 sc_tx_pipe – counter - diag
459 Session OK TX_PIPE
460
461 Number of session closes with TX_PIPE (Piped transaction)
462
463 sc_tx_error – counter - diag
464 Session Err TX_ERROR
465
466 Number of session closes with Error TX_ERROR (Error transaction)
467
468 sc_tx_eof – counter - diag
469 Session OK TX_EOF
470
471 Number of session closes with TX_EOF (EOF transmission)
472
473 sc_resp_close – counter - diag
474 Session OK RESP_CLOSE
475
476 Number of session closes with RESP_CLOSE (Backend/VCL requested
477 close)
478
479 sc_overload – counter - diag
480 Session Err OVERLOAD
481
482 Number of session closes with Error OVERLOAD (Out of some resource)
483
484 sc_pipe_overflow – counter - diag
485 Session Err PIPE_OVERFLOW
486
487 Number of session closes with Error PIPE_OVERFLOW (Session pipe
488 overflow)
489
490 sc_range_short – counter - diag
491 Session Err RANGE_SHORT
492
493 Number of session closes with Error RANGE_SHORT (Insufficient data
494 for range)
495
496 sc_req_http20 – counter - diag
497 Session Err REQ_HTTP20
498
499 Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)
500
501 sc_vcl_failure – counter - diag
502 Session Err VCL_FAILURE
503
504 Number of session closes with Error VCL_FAILURE (VCL failure)
505
506 client_resp_500 – counter - diag
507 Delivery failed due to insufficient workspace.
508
509 Number of times we failed a response due to running out of workspace
510 memory during delivery.
511
512 ws_backend_overflow – counter - diag
513 workspace_backend overflows
514
515 Number of times we ran out of space in workspace_backend.
516
517 ws_client_overflow – counter - diag
518 workspace_client overflows
519
520 Number of times we ran out of space in workspace_client.
521
522 ws_thread_overflow – counter - diag
523 workspace_thread overflows
524
525 Number of times we ran out of space in workspace_thread.
526
527 ws_session_overflow – counter - diag
528 workspace_session overflows
529
530 Number of times we ran out of space in workspace_session.
531
532 shm_records – counter - diag
533 SHM records
534
535 shm_writes – counter - diag
536 SHM writes
537
538 shm_flushes – counter - diag
539 SHM flushes due to overflow
540
541 shm_cont – counter - diag
542 SHM MTX contention
543
544 shm_cycles – counter - diag
545 SHM cycles through buffer
546
547 backend_req – counter - info
548 Backend requests made
549
550 n_vcl – gauge - info
551 Number of loaded VCLs in total
552
553 n_vcl_avail – gauge - diag
554 Number of VCLs available
555
556 n_vcl_discard – gauge - diag
557 Number of discarded VCLs
558
559 vcl_fail – counter - info
560 VCL failures
561
562 Count of failures which prevented VCL from completing.
563
564 bans – gauge - info
565 Count of bans
566
567 Number of all bans in system, including bans superseded by newer
568 bans and bans already checked by the ban-lurker.
569
570 bans_completed – gauge - diag
571 Number of bans marked 'completed'
572
573 Number of bans which are no longer active, either because they got
574 checked by the ban-lurker or superseded by newer identical bans.
575
576 bans_obj – gauge - diag
577 Number of bans using obj.*
578
579 Number of bans which use obj.* variables. These bans can possibly
580 be washed by the ban-lurker.
581
582 bans_req – gauge - diag
583 Number of bans using req.*
584
585 Number of bans which use req.* variables. These bans can not be
586 washed by the ban-lurker.
587
588 bans_added – counter - diag
589 Bans added
590
591 Counter of bans added to ban list.
592
593 bans_deleted – counter - diag
594 Bans deleted
595
596 Counter of bans deleted from ban list.
597
598 bans_tested – counter - diag
599 Bans tested against objects (lookup)
600
601 Count of how many bans and objects have been tested against each
602 other during hash lookup.
603
604 bans_obj_killed – counter - diag
605 Objects killed by bans (lookup)
606
607 Number of objects killed by bans during object lookup.
608
609 bans_lurker_tested – counter - diag
610 Bans tested against objects (lurker)
611
612 Count of how many bans and objects have been tested against each
613 other by the ban-lurker.
614
615 bans_tests_tested – counter - diag
616 Ban tests tested against objects (lookup)
617
618 Count of how many tests and objects have been tested against each
619 other during lookup. 'ban req.url == foo && req.http.host == bar'
620 counts as one in 'bans_tested' and as two in 'bans_tests_tested'
621
622 bans_lurker_tests_tested – counter - diag
623 Ban tests tested against objects (lurker)
624
625 Count of how many tests and objects have been tested against each
626 other by the ban-lurker. 'ban req.url == foo && req.http.host ==
627 bar' counts as one in 'bans_tested' and as two in
628 'bans_tests_tested'
629
630 bans_lurker_obj_killed – counter - diag
631 Objects killed by bans (lurker)
632
633 Number of objects killed by the ban-lurker.
634
635 bans_lurker_obj_killed_cutoff – counter - diag
636 Objects killed by bans for cutoff (lurker)
637
638 Number of objects killed by the ban-lurker to keep the number of
639 bans below ban_cutoff.
640
641 bans_dups – counter - diag
642 Bans superseded by other bans
643
644 Count of bans replaced by later identical bans.
645
646 bans_lurker_contention – counter - diag
647 Lurker gave way for lookup
648
649 Number of times the ban-lurker had to wait for lookups.
650
651 bans_persisted_bytes – gauge - diag
652 Bytes used by the persisted ban lists
653
654 Number of bytes used by the persisted ban lists.
655
656 bans_persisted_fragmentation – gauge - diag
657 Extra bytes in persisted ban lists due to fragmentation
658
659 Number of extra bytes accumulated through dropped and completed bans
660 in the persistent ban lists.
661
662 n_purges – counter - info
663 Number of purge operations executed
664
665 n_obj_purged – counter - info
666 Number of purged objects
667
668 exp_mailed – counter - diag
669 Number of objects mailed to expiry thread
670
671 Number of objects mailed to expiry thread for handling.
672
673 exp_received – counter - diag
674 Number of objects received by expiry thread
675
676 Number of objects received by expiry thread for handling.
677
678 hcb_nolock – counter - debug
679 HCB Lookups without lock
680
681 hcb_lock – counter - debug
682 HCB Lookups with lock
683
684 hcb_insert – counter - debug
685 HCB Inserts
686
687 esi_errors – counter - diag
688 ESI parse errors (unlock)
689
690 esi_warnings – counter - diag
691 ESI parse warnings (unlock)
692
693 vmods – gauge - info
694 Loaded VMODs
695
696 n_gzip – counter - info
697 Gzip operations
698
699 n_gunzip – counter - info
700 Gunzip operations
701
702 n_test_gunzip – counter - info
703 Test gunzip operations
704
705 Those operations occur when Varnish receives a compressed object
706 from a backend. They are done to verify the gzip stream while it's
707 inserted in storage.
708
710 uptime – counter - info
711 Management process uptime
712
713 Uptime in seconds of the management process
714
715 child_start – counter - diag
716 Child process started
717
718 Number of times the child process has been started
719
720 child_exit – counter - diag
721 Child process normal exit
722
723 Number of times the child process has been cleanly stopped
724
725 child_stop – counter - diag
726 Child process unexpected exit
727
728 Number of times the child process has exited with an unexpected
729 return code
730
731 child_died – counter - diag
732 Child process died (signal)
733
734 Number of times the child process has died due to signals
735
736 child_dump – counter - diag
737 Child process core dumped
738
739 Number of times the child process has produced core dumps
740
741 child_panic – counter - diag
742 Child process panic
743
744 Number of times the management process has caught a child panic
745
747 live – gauge - debug
748 In use
749
750 pool – gauge - debug
751 In Pool
752
753 sz_wanted – gauge - debug
754 Size requested
755
756 sz_actual – gauge - debug
757 Size allocated
758
759 allocs – counter - debug
760 Allocations
761
762 frees – counter - debug
763 Frees
764
765 recycle – counter - debug
766 Recycled from pool
767
768 timeout – counter - debug
769 Timed out from pool
770
771 toosmall – counter - debug
772 Too small to recycle
773
774 surplus – counter - debug
775 Too many for pool
776
777 randry – counter - debug
778 Pool ran dry
779
781 c_req – counter - info
782 Allocator requests
783
784 Number of times the storage has been asked to provide a storage seg‐
785 ment.
786
787 c_fail – counter - info
788 Allocator failures
789
790 Number of times the storage has failed to provide a storage segment.
791
792 c_bytes – counter - info
793 Bytes allocated
794
795 Number of total bytes allocated by this storage.
796
797 c_freed – counter - info
798 Bytes freed
799
800 Number of total bytes returned to this storage.
801
802 g_alloc – gauge - info
803 Allocations outstanding
804
805 Number of storage allocations outstanding.
806
807 g_bytes – gauge - info
808 Bytes outstanding
809
810 Number of bytes allocated from the storage.
811
812 g_space – gauge - info
813 Bytes available
814
815 Number of bytes left in the storage.
816
818 c_req – counter - info
819 Allocator requests
820
821 Number of times the storage has been asked to provide a storage seg‐
822 ment.
823
824 c_fail – counter - info
825 Allocator failures
826
827 Number of times the storage has failed to provide a storage segment.
828
829 c_bytes – counter - info
830 Bytes allocated
831
832 Number of total bytes allocated by this storage.
833
834 c_freed – counter - info
835 Bytes freed
836
837 Number of total bytes returned to this storage.
838
839 g_alloc – gauge - info
840 Allocations outstanding
841
842 Number of storage allocations outstanding.
843
844 g_bytes – gauge - info
845 Bytes outstanding
846
847 Number of bytes allocated from the storage.
848
849 g_space – gauge - info
850 Bytes available
851
852 Number of bytes left in the storage.
853
855 c_req – counter - info
856 Allocator requests
857
858 Number of times the storage has been asked to provide a storage seg‐
859 ment.
860
861 c_fail – counter - info
862 Allocator failures
863
864 Number of times the storage has failed to provide a storage segment.
865
866 c_bytes – counter - info
867 Bytes allocated
868
869 Number of total bytes allocated by this storage.
870
871 c_freed – counter - info
872 Bytes freed
873
874 Number of total bytes returned to this storage.
875
876 g_alloc – gauge - info
877 Allocations outstanding
878
879 Number of storage allocations outstanding.
880
881 g_bytes – gauge - info
882 Bytes outstanding
883
884 Number of bytes allocated from the storage.
885
886 g_space – gauge - info
887 Bytes available
888
889 Number of bytes left in the storage.
890
891 g_smf – gauge - info
892 N struct smf
893
894 g_smf_frag – gauge - info
895 N small free smf
896
897 g_smf_large – gauge - info
898 N large free smf
899
901 happy – bitmap - info
902 Happy health probes
903
904 bereq_hdrbytes – counter - info
905 Request header bytes
906
907 Total backend request header bytes sent
908
909 bereq_bodybytes – counter - info
910 Request body bytes
911
912 Total backend request body bytes sent
913
914 beresp_hdrbytes – counter - info
915 Response header bytes
916
917 Total backend response header bytes received
918
919 beresp_bodybytes – counter - info
920 Response body bytes
921
922 Total backend response body bytes received
923
924 pipe_hdrbytes – counter - info
925 Pipe request header bytes
926
927 Total request bytes sent for piped sessions
928
929 pipe_out – counter - info
930 Piped bytes to backend
931
932 Total number of bytes forwarded to backend in pipe sessions
933
934 pipe_in – counter - info
935 Piped bytes from backend
936
937 Total number of bytes forwarded from backend in pipe sessions
938
939 conn – gauge - info
940 Concurrent connections to backend
941
942 req – counter - info
943 Backend requests sent
944
945 unhealthy – counter - info
946 Fetches not attempted due to backend being unhealthy
947
948 busy – counter - info
949 Fetches not attempted due to backend being busy
950
951 Number of times the max_connections limit was reached
952
953 fail – counter - info
954 Connections failed
955
956 Counter of failed opens. Detailed reasons are given in the fail_*
957 counters (DIAG level) and in the log under the FetchError tag.
958
959 This counter is the sum of all detailed fail_* counters.
960
961 All fail_* counters may be slightly inaccurate for efficiency.
962
963 fail_eacces – counter - diag
964 Connections failed with EACCES or EPERM
965
966 fail_eaddrnotavail – counter - diag
967 Connections failed with EADDRNOTAVAIL
968
969 fail_econnrefused – counter - diag
970 Connections failed with ECONNREFUSED
971
972 fail_enetunreach – counter - diag
973 Connections failed with ENETUNREACH
974
975 fail_etimedout – counter - diag
976 Connections failed ETIMEDOUT
977
978 fail_other – counter - diag
979 Connections failed for other reason
980
981 helddown – counter - diag
982 Connection opens not attempted
983
984 Connections not attempted during the backend_local_error_holddown or
985 backend_remote_error_holddown interval after a fundamental connec‐
986 tion issue.
987
989 Counters which track the activity in the different classes of
990 mutex-locks.
991
992 The counts may be slightly wrong if there are more than one lock
993 instantiated in each class (ie: .creat > 1)
994
995 creat – counter - debug
996 Created locks
997
998 destroy – counter - debug
999 Destroyed locks
1000
1001 locks – counter - debug
1002 Lock Operations
1003
1004 dbg_busy – counter - debug
1005 Contended lock operations
1006
1007 If the lck debug bit is set: Lock operations which returned EBUSY on
1008 the first locking attempt.
1009
1010 If the lck debug bit is unset, this counter will never be incre‐
1011 mented even if lock operations are contended.
1012
1013 dbg_try_fail – counter - debug
1014 Contended trylock operations
1015
1016 If the lck debug bit is set: Trylock operations which returned
1017 EBUSY.
1018
1019 If the lck debug bit is unset, this counter will never be incre‐
1020 mented even if lock operations are contended.
1021
1023 This man page was written by Lasse Karstensen, using content from
1024 vsc2rst written by Tollef Fog Heen.
1025
1026
1027
1028
1029 VARNISH-COUNTERS(7)