Commit b4f4e20e authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Make vsctool.py produce the VSC .rst doc.

Retire vsc2rst
parent 2643ce32
......@@ -8,6 +8,9 @@
.. varnish_vsc_begin:: lck
:oneliner: Lock Counters
Counters which track the activity in the different classes
of mutex-locks.
.. varnish_vsc:: creat
:type: counter
:level: debug
......
......@@ -10,78 +10,79 @@
:sumfunction:
.. varnish_vsc:: summs
:level: debug
:oneliner: stat summ operations
.. varnish_vsc:: uptime
:oneliner: Child process uptime
How long the child process has been running.
How long the child process has been running.
.. varnish_vsc:: sess_conn
:oneliner: Sessions accepted
Count of sessions successfully accepted
Count of sessions successfully accepted
.. varnish_vsc:: sess_drop
:oneliner: Sessions dropped
Count of sessions silently dropped due to lack of worker thread.
Count of sessions silently dropped due to lack of worker thread.
.. varnish_vsc:: sess_fail
:oneliner: Session accept failures
Count of failures to accept TCP connection. Either the client
changed its mind, or the kernel ran out of some resource like file
descriptors.
Count of failures to accept TCP connection. Either the client
changed its mind, or the kernel ran out of some resource like file
descriptors.
.. varnish_vsc:: client_req_400
:oneliner: Client requests received, subject to 400 errors
400 means we couldn't make sense of the request, it was malformed
in some drastic way.
400 means we couldn't make sense of the request, it was malformed
in some drastic way.
.. varnish_vsc:: client_req_417
:oneliner: Client requests received, subject to 417 errors
417 means that something went wrong with an Expect: header.
417 means that something went wrong with an Expect: header.
.. varnish_vsc:: client_req
:oneliner: Good client requests received
The count of parseable client requests seen.
The count of parseable client requests seen.
.. varnish_vsc:: cache_hit
:oneliner: Cache hits
Count of cache hits. A cache hit indicates that an object has been
delivered to a client without fetching it from a backend server.
Count of cache hits. A cache hit indicates that an object has been
delivered to a client without fetching it from a backend server.
.. varnish_vsc:: cache_hitpass
:oneliner: Cache hits for pass.
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.
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.
.. varnish_vsc:: cache_hitmiss
:oneliner: Cache hits for miss.
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.
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.
.. varnish_vsc:: cache_miss
:oneliner: Cache misses
Count of misses. A cache miss indicates the object was fetched from
the backend before delivering it to the client.
Count of misses. A cache miss indicates the object was fetched from
the backend before delivering it to the client.
.. varnish_vsc:: backend_conn
:oneliner: Backend conn. success
How many backend connections have successfully been established.
How many backend connections have successfully been established.
.. varnish_vsc:: backend_unhealthy
:oneliner: Backend conn. not attempted
......@@ -98,16 +99,16 @@ How many backend connections have successfully been established.
.. varnish_vsc:: backend_reuse
:oneliner: Backend conn. reuses
Count of backend connection reuses. This counter is increased
whenever we reuse a recycled connection.
Count of backend connection reuses. This counter is increased
whenever we reuse a recycled connection.
.. varnish_vsc:: backend_recycle
:oneliner: Backend conn. recycles
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.
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.
.. varnish_vsc:: backend_retry
:oneliner: Backend conn. retry
......@@ -116,183 +117,183 @@ unless the backend closes it.
.. varnish_vsc:: fetch_head
:oneliner: Fetch no body (HEAD)
beresp with no body because the request is HEAD.
beresp with no body because the request is HEAD.
.. varnish_vsc:: fetch_length
:oneliner: Fetch with Length
beresp.body with Content-Length.
beresp.body with Content-Length.
.. varnish_vsc:: fetch_chunked
:oneliner: Fetch chunked
beresp.body with Chunked.
beresp.body with Chunked.
.. varnish_vsc:: fetch_eof
:oneliner: Fetch EOF
beresp.body with EOF.
beresp.body with EOF.
.. varnish_vsc:: fetch_bad
:oneliner: Fetch bad T-E
beresp.body length/fetch could not be determined.
beresp.body length/fetch could not be determined.
.. varnish_vsc:: fetch_none
:oneliner: Fetch no body
beresp.body empty
beresp.body empty
.. varnish_vsc:: fetch_1xx
:oneliner: Fetch no body (1xx)
beresp with no body because of 1XX response.
beresp with no body because of 1XX response.
.. varnish_vsc:: fetch_204
:oneliner: Fetch no body (204)
beresp with no body because of 204 response.
beresp with no body because of 204 response.
.. varnish_vsc:: fetch_304
:oneliner: Fetch no body (304)
beresp with no body because of 304 response.
beresp with no body because of 304 response.
.. varnish_vsc:: fetch_failed
:oneliner: Fetch failed (all causes)
beresp fetch failed.
beresp fetch failed.
.. varnish_vsc:: fetch_no_thread
:oneliner: Fetch failed (no thread)
beresp fetch failed, no thread available.
beresp fetch failed, no thread available.
.. varnish_vsc:: pools
:type: gauge
:oneliner: Number of thread pools
Number of thread pools. See also parameter thread_pools. NB: Presently
pools cannot be removed once created.
Number of thread pools. See also parameter thread_pools. NB: Presently
pools cannot be removed once created.
.. varnish_vsc:: threads
:type: gauge
:oneliner: Total number of threads
Number of threads in all pools. See also parameters thread_pools,
thread_pool_min and thread_pool_max.
Number of threads in all pools. See also parameters thread_pools,
thread_pool_min and thread_pool_max.
.. varnish_vsc:: threads_limited
:oneliner: Threads hit max
Number of times more threads were needed, but limit was reached in
a thread pool. See also parameter thread_pool_max.
Number of times more threads were needed, but limit was reached in
a thread pool. See also parameter thread_pool_max.
.. varnish_vsc:: threads_created
:oneliner: Threads created
Total number of threads created in all pools.
Total number of threads created in all pools.
.. varnish_vsc:: threads_destroyed
:oneliner: Threads destroyed
Total number of threads destroyed in all pools.
Total number of threads destroyed in all pools.
.. varnish_vsc:: threads_failed
:oneliner: Thread creation failed
Number of times creating a thread failed. See VSL::Debug for
diagnostics. See also parameter thread_fail_delay.
Number of times creating a thread failed. See VSL::Debug for
diagnostics. See also parameter thread_fail_delay.
.. varnish_vsc:: thread_queue_len
:type: gauge
:oneliner: Length of session queue
Length of session queue waiting for threads. NB: Only updates once
per second. See also parameter thread_queue_limit.
Length of session queue waiting for threads. NB: Only updates once
per second. See also parameter thread_queue_limit.
.. varnish_vsc:: busy_sleep
:oneliner: Number of requests sent to sleep on busy objhdr
Number of requests sent to sleep without a worker thread because
they found a busy object.
Number of requests sent to sleep without a worker thread because
they found a busy object.
.. varnish_vsc:: busy_wakeup
:oneliner: Number of requests woken after sleep on busy objhdr
Number of requests taken off the busy object sleep list and rescheduled.
Number of requests taken off the busy object sleep list and rescheduled.
.. varnish_vsc:: busy_killed
:oneliner: Number of requests killed after sleep on busy objhdr
Number of requests killed from the busy object sleep list due to
lack of resources.
Number of requests killed from the busy object sleep list due to
lack of resources.
.. varnish_vsc:: sess_queued
:oneliner: Sessions queued for thread
Number of times session was queued waiting for a thread. See also
parameter thread_queue_limit.
Number of times session was queued waiting for a thread. See also
parameter thread_queue_limit.
.. varnish_vsc:: sess_dropped
:oneliner: Sessions dropped for thread
Number of times session was dropped because the queue were too long
already. See also parameter thread_queue_limit.
Number of times session was dropped because the queue were too long
already. See also parameter thread_queue_limit.
.. varnish_vsc:: n_object
:type: gauge
:oneliner: object structs made
Approximate number of HTTP objects (headers + body, if present) in
the cache.
Approximate number of HTTP objects (headers + body, if present) in
the cache.
.. varnish_vsc:: n_vampireobject
:type: gauge
:level: diag
:oneliner: unresurrected objects
Number of unresurrected objects
Number of unresurrected objects
.. varnish_vsc:: n_objectcore
:type: gauge
:oneliner: objectcore structs made
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.
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.
.. varnish_vsc:: n_objecthead
:type: gauge
:oneliner: objecthead structs made
Approximate number of different hash entries in the cache.
Approximate number of different hash entries in the cache.
.. varnish_vsc:: n_backend
:type: gauge
:oneliner: Number of backends
Number of backends known to us.
Number of backends known to us.
.. varnish_vsc:: n_expired
:type: gauge
:oneliner: Number of expired objects
Number of objects that expired from cache because of old age.
Number of objects that expired from cache because of old age.
.. varnish_vsc:: n_lru_nuked
:type: gauge
:oneliner: Number of LRU nuked objects
How many objects have been forcefully evicted from storage to make
room for a new object.
How many objects have been forcefully evicted from storage to make
room for a new object.
.. varnish_vsc:: n_lru_moved
:type: gauge
:level: diag
:oneliner: Number of LRU moved objects
Number of move operations done on the LRU list.
Number of move operations done on the LRU list.
.. varnish_vsc:: losthdr
:oneliner: HTTP header overflows
......@@ -325,37 +326,37 @@ Number of move operations done on the LRU list.
.. varnish_vsc:: s_req_hdrbytes
:oneliner: Request header bytes
Total request header bytes received
Total request header bytes received
.. varnish_vsc:: s_req_bodybytes
:oneliner: Request body bytes
Total request body bytes received
Total request body bytes received
.. varnish_vsc:: s_resp_hdrbytes
:oneliner: Response header bytes
Total response header bytes transmitted
Total response header bytes transmitted
.. varnish_vsc:: s_resp_bodybytes
:oneliner: Response body bytes
Total response body bytes transmitted
Total response body bytes transmitted
.. varnish_vsc:: s_pipe_hdrbytes
:oneliner: Pipe request header bytes
Total request bytes received for piped sessions
Total request bytes received for piped sessions
.. varnish_vsc:: s_pipe_in
:oneliner: Piped bytes from client
Total number of bytes forwarded from clients in pipe sessions
Total number of bytes forwarded from clients in pipe sessions
.. varnish_vsc:: s_pipe_out
:oneliner: Piped bytes to client
Total number of bytes forwarded to clients in pipe sessions
Total number of bytes forwarded to clients in pipe sessions
.. varnish_vsc:: sess_closed
:oneliner: Session Closed
......@@ -364,8 +365,8 @@ Total number of bytes forwarded to clients in pipe sessions
.. varnish_vsc:: sess_closed_err
:oneliner: Session Closed with error
Total number of sessions closed with errors. See sc_* diag counters
for detailed breakdown
Total number of sessions closed with errors. See sc_* diag counters
for detailed breakdown
.. varnish_vsc:: sess_readahead
:oneliner: Session Read Ahead
......@@ -375,109 +376,109 @@ for detailed breakdown
:level: diag
:oneliner: Session herd
Number of times the timeout_linger triggered
Number of times the timeout_linger triggered
.. varnish_vsc:: sc_rem_close
:level: diag
:oneliner: Session OK REM_CLOSE
Number of session closes with REM_CLOSE (Client Closed)
Number of session closes with REM_CLOSE (Client Closed)
.. varnish_vsc:: sc_req_close
:level: diag
:oneliner: Session OK REQ_CLOSE
Number of session closes with REQ_CLOSE (Client requested close)
Number of session closes with REQ_CLOSE (Client requested close)
.. varnish_vsc:: sc_req_http10
:level: diag
:oneliner: Session Err REQ_HTTP10
Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)
Number of session closes with Error REQ_HTTP10 (Proto < HTTP/1.1)
.. varnish_vsc:: sc_rx_bad
:level: diag
:oneliner: Session Err RX_BAD
Number of session closes with Error RX_BAD (Received bad req/resp)
Number of session closes with Error RX_BAD (Received bad req/resp)
.. varnish_vsc:: sc_rx_body
:level: diag
:oneliner: Session Err RX_BODY
Number of session closes with Error RX_BODY (Failure receiving req.body)
Number of session closes with Error RX_BODY (Failure receiving req.body)
.. varnish_vsc:: sc_rx_junk
:level: diag
:oneliner: Session Err RX_JUNK
Number of session closes with Error RX_JUNK (Received junk data)
Number of session closes with Error RX_JUNK (Received junk data)
.. varnish_vsc:: sc_rx_overflow
:level: diag
:oneliner: Session Err RX_OVERFLOW
Number of session closes with Error RX_OVERFLOW (Received buffer overflow)
Number of session closes with Error RX_OVERFLOW (Received buffer overflow)
.. varnish_vsc:: sc_rx_timeout
:level: diag
:oneliner: Session Err RX_TIMEOUT
Number of session closes with Error RX_TIMEOUT (Receive timeout)
Number of session closes with Error RX_TIMEOUT (Receive timeout)
.. varnish_vsc:: sc_tx_pipe
:level: diag
:oneliner: Session OK TX_PIPE
Number of session closes with TX_PIPE (Piped transaction)
Number of session closes with TX_PIPE (Piped transaction)
.. varnish_vsc:: sc_tx_error
:level: diag
:oneliner: Session Err TX_ERROR
Number of session closes with Error TX_ERROR (Error transaction)
Number of session closes with Error TX_ERROR (Error transaction)
.. varnish_vsc:: sc_tx_eof
:level: diag
:oneliner: Session OK TX_EOF
Number of session closes with TX_EOF (EOF transmission)
Number of session closes with TX_EOF (EOF transmission)
.. varnish_vsc:: sc_resp_close
:level: diag
:oneliner: Session OK RESP_CLOSE
Number of session closes with RESP_CLOSE (Backend/VCL requested close)
Number of session closes with RESP_CLOSE (Backend/VCL requested close)
.. varnish_vsc:: sc_overload
:level: diag
:oneliner: Session Err OVERLOAD
Number of session closes with Error OVERLOAD (Out of some resource)
Number of session closes with Error OVERLOAD (Out of some resource)
.. varnish_vsc:: sc_pipe_overflow
:level: diag
:oneliner: Session Err PIPE_OVERFLOW
Number of session closes with Error PIPE_OVERFLOW (Session pipe overflow)
Number of session closes with Error PIPE_OVERFLOW (Session pipe overflow)
.. varnish_vsc:: sc_range_short
:level: diag
:oneliner: Session Err RANGE_SHORT
Number of session closes with Error RANGE_SHORT (Insufficient data for range)
Number of session closes with Error RANGE_SHORT (Insufficient data for range)
.. varnish_vsc:: sc_req_http20
:level: diag
:oneliner: Session Err REQ_HTTP20
Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)
Number of session closes with Error REQ_HTTP20 (HTTP2 not accepted)
.. varnish_vsc:: sc_vcl_failure
:level: diag
:oneliner: Session Err VCL_FAILURE
Number of session closes with Error VCL_FAILURE (VCL failure)
Number of session closes with Error VCL_FAILURE (VCL failure)
.. varnish_vsc:: shm_records
:level: diag
......@@ -525,126 +526,126 @@ Number of session closes with Error VCL_FAILURE (VCL failure)
.. varnish_vsc:: vcl_fail
:oneliner: VCL failures
Count of failures which prevented VCL from completing.
Count of failures which prevented VCL from completing.
.. varnish_vsc:: bans
:type: gauge
:oneliner: Count of bans
Number of all bans in system, including bans superseded by newer
bans and bans already checked by the ban-lurker.
Number of all bans in system, including bans superseded by newer
bans and bans already checked by the ban-lurker.
.. varnish_vsc:: bans_completed
:type: gauge
:level: diag
:oneliner: Number of bans marked 'completed'
Number of bans which are no longer active, either because they got
checked by the ban-lurker or superseded by newer identical bans.
Number of bans which are no longer active, either because they got
checked by the ban-lurker or superseded by newer identical bans.
.. varnish_vsc:: bans_obj
:type: gauge
:level: diag
:oneliner: Number of bans using obj.*
Number of bans which use obj.* variables. These bans can possibly
be washed by the ban-lurker.
Number of bans which use obj.* variables. These bans can possibly
be washed by the ban-lurker.
.. varnish_vsc:: bans_req
:type: gauge
:level: diag
:oneliner: Number of bans using req.*
Number of bans which use req.* variables. These bans can not be
washed by the ban-lurker.
Number of bans which use req.* variables. These bans can not be
washed by the ban-lurker.
.. varnish_vsc:: bans_added
:level: diag
:oneliner: Bans added
Counter of bans added to ban list.
Counter of bans added to ban list.
.. varnish_vsc:: bans_deleted
:level: diag
:oneliner: Bans deleted
Counter of bans deleted from ban list.
Counter of bans deleted from ban list.
.. varnish_vsc:: bans_tested
:level: diag
:oneliner: Bans tested against objects (lookup)
Count of how many bans and objects have been tested against each
other during hash lookup.
Count of how many bans and objects have been tested against each
other during hash lookup.
.. varnish_vsc:: bans_obj_killed
:level: diag
:oneliner: Objects killed by bans (lookup)
Number of objects killed by bans during object lookup.
Number of objects killed by bans during object lookup.
.. varnish_vsc:: bans_lurker_tested
:level: diag
:oneliner: Bans tested against objects (lurker)
Count of how many bans and objects have been tested against each
other by the ban-lurker.
Count of how many bans and objects have been tested against each
other by the ban-lurker.
.. varnish_vsc:: bans_tests_tested
:level: diag
:oneliner: Ban tests tested against objects (lookup)
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'
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'
.. varnish_vsc:: bans_lurker_tests_tested
:level: diag
:oneliner: Ban tests tested against objects (lurker)
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'
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'
.. varnish_vsc:: bans_lurker_obj_killed
:level: diag
:oneliner: Objects killed by bans (lurker)
Number of objects killed by the ban-lurker.
Number of objects killed by the ban-lurker.
.. varnish_vsc:: bans_lurker_obj_killed_cutoff
:level: diag
:oneliner: Objects killed by bans for cutoff (lurker)
Number of objects killed by the ban-lurker to keep the number of
bans below ban_cutoff.
Number of objects killed by the ban-lurker to keep the number of
bans below ban_cutoff.
.. varnish_vsc:: bans_dups
:level: diag
:oneliner: Bans superseded by other bans
Count of bans replaced by later identical bans.
Count of bans replaced by later identical bans.
.. varnish_vsc:: bans_lurker_contention
:level: diag
:oneliner: Lurker gave way for lookup
Number of times the ban-lurker had to wait for lookups.
Number of times the ban-lurker had to wait for lookups.
.. varnish_vsc:: bans_persisted_bytes
:type: gauge
:level: diag
:oneliner: Bytes used by the persisted ban lists
Number of bytes used by the persisted ban lists.
Number of bytes used by the persisted ban lists.
.. varnish_vsc:: bans_persisted_fragmentation
:type: gauge
:level: diag
:oneliner: Extra bytes in persisted ban lists due to fragmentation
Number of extra bytes accumulated through dropped and completed
bans in the persistent ban lists.
Number of extra bytes accumulated through dropped and completed
bans in the persistent ban lists.
.. varnish_vsc:: n_purges
:type: gauge
......@@ -660,13 +661,13 @@ bans in the persistent ban lists.
:level: diag
:oneliner: Number of objects mailed to expiry thread
Number of objects mailed to expiry thread for handling.
Number of objects mailed to expiry thread for handling.
.. varnish_vsc:: exp_received
:level: diag
:oneliner: Number of objects received by expiry thread
Number of objects received by expiry thread for handling.
Number of objects received by expiry thread for handling.
.. varnish_vsc:: hcb_nolock
:level: debug
......@@ -709,52 +710,52 @@ Number of objects received by expiry thread for handling.
.. varnish_vsc:: n_test_gunzip
:oneliner: Test gunzip operations
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.
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.
.. varnish_vsc:: vsm_free
:type: gauge
:level: diag
:oneliner: Free VSM space
Number of bytes free in the shared memory used to communicate with
tools like varnishstat, varnishlog etc.
Number of bytes free in the shared memory used to communicate with
tools like varnishstat, varnishlog etc.
.. varnish_vsc:: vsm_used
:type: gauge
:level: diag
:oneliner: Used VSM space
Number of bytes used in the shared memory used to communicate with
tools like varnishstat, varnishlog etc.
Number of bytes used in the shared memory used to communicate with
tools like varnishstat, varnishlog etc.
.. varnish_vsc:: vsm_cooling
:type: gauge
:level: debug
:oneliner: Cooling VSM space
Number of bytes which will soon (max 1 minute) be freed in the
shared memory used to communicate with tools like varnishstat,
varnishlog etc.
Number of bytes which will soon (max 1 minute) be freed in the
shared memory used to communicate with tools like varnishstat,
varnishlog etc.
.. varnish_vsc:: vsm_overflow
:type: gauge
:level: diag
:oneliner: Overflow VSM space
Number of bytes which does not fit in the shared memory used to
communicate with tools like varnishstat, varnishlog etc. If this
counter is not zero, consider increasing the runtime variable
vsm_space.
Number of bytes which does not fit in the shared memory used to
communicate with tools like varnishstat, varnishlog etc. If this
counter is not zero, consider increasing the runtime variable
vsm_space.
.. varnish_vsc:: vsm_overflowed
:level: diag
:oneliner: Overflowed VSM space
Total number of bytes which did not fit in the shared memory used
to communicate with tools like varnishstat, varnishlog etc. If this
counter is not zero, consider increasing the runtime variable
vsm_space.
Total number of bytes which did not fit in the shared memory used
to communicate with tools like varnishstat, varnishlog etc. If this
counter is not zero, consider increasing the runtime variable
vsm_space.
.. varnish_vsc_end:: main
......@@ -37,13 +37,11 @@
:level: debug
:oneliner: Allocations
.. varnish_vsc:: frees
:type: counter
:level: debug
:oneliner: Frees
.. varnish_vsc:: recycle
:type: counter
:level: debug
......
......@@ -13,48 +13,49 @@
:level: info
:oneliner: Management process uptime
Uptime in seconds of the management process
Uptime in seconds of the management process
.. varnish_vsc:: child_start
:type: counter
:level: diag
:oneliner: Child process started
Number of times the child process has been started
Number of times the child process has been started
.. varnish_vsc:: child_exit
:type: counter
:level: diag
:oneliner: Child process normal exit
Number of times the child process has been cleanly stopped
Number of times the child process has been cleanly stopped
.. varnish_vsc:: child_stop
:type: counter
:level: diag
:oneliner: Child process unexpected exit
Number of times the child process has exited with an unexpected return code
Number of times the child process has exited with an
unexpected return code
.. varnish_vsc:: child_died
:type: counter
:level: diag
:oneliner: Child process died (signal)
Number of times the child process has died due to signals
Number of times the child process has died due to signals
.. varnish_vsc:: child_dump
:type: counter
:level: diag
:oneliner: Child process core dumped
Number of times the child process has produced core dumps
Number of times the child process has produced core dumps
.. varnish_vsc:: child_panic
:type: counter
:level: diag
:oneliner: Child process panic
Number of times the management process has caught a child panic
Number of times the management process has caught a child panic
.. varnish_vsc_end:: mgt
......@@ -13,48 +13,48 @@
:level: info
:oneliner: Allocator requests
Number of times the storage has been asked to provide a storage segment.
Number of times the storage has been asked to provide a storage segment.
.. varnish_vsc:: c_fail
:type: counter
:level: info
:oneliner: Allocator failures
Number of times the storage has failed to provide a storage segment.
Number of times the storage has failed to provide a storage segment.
.. varnish_vsc:: c_bytes
:type: counter
:level: info
:oneliner: Bytes allocated
Number of total bytes allocated by this storage.
Number of total bytes allocated by this storage.
.. varnish_vsc:: c_freed
:type: counter
:level: info
:oneliner: Bytes freed
Number of total bytes returned to this storage.
Number of total bytes returned to this storage.
.. varnish_vsc:: g_alloc
:type: gauge
:level: info
:oneliner: Allocations outstanding
Number of storage allocations outstanding.
Number of storage allocations outstanding.
.. varnish_vsc:: g_bytes
:type: gauge
:level: info
:oneliner: Bytes outstanding
Number of bytes allocated from the storage.
Number of bytes allocated from the storage.
.. varnish_vsc:: g_space
:type: gauge
:level: info
:oneliner: Bytes available
Number of bytes left in the storage.
Number of bytes left in the storage.
.. varnish_vsc_end:: sma
......@@ -13,49 +13,49 @@
:level: info
:oneliner: Allocator requests
Number of times the storage has been asked to provide a storage segment.
Number of times the storage has been asked to provide a storage segment.
.. varnish_vsc:: c_fail
:type: counter
:level: info
:oneliner: Allocator failures
Number of times the storage has failed to provide a storage segment.
Number of times the storage has failed to provide a storage segment.
.. varnish_vsc:: c_bytes
:type: counter
:level: info
:oneliner: Bytes allocated
Number of total bytes allocated by this storage.
Number of total bytes allocated by this storage.
.. varnish_vsc:: c_freed
:type: counter
:level: info
:oneliner: Bytes freed
Number of total bytes returned to this storage.
Number of total bytes returned to this storage.
.. varnish_vsc:: g_alloc
:type: gauge
:level: info
:oneliner: Allocations outstanding
Number of storage allocations outstanding.
Number of storage allocations outstanding.
.. varnish_vsc:: g_bytes
:type: gauge
:level: info
:oneliner: Bytes outstanding
Number of bytes allocated from the storage.
Number of bytes allocated from the storage.
.. varnish_vsc:: g_space
:type: gauge
:level: info
:oneliner: Bytes available
Number of bytes left in the storage.
Number of bytes left in the storage.
.. varnish_vsc:: g_smf
:type: gauge
......
......@@ -18,49 +18,49 @@
:level: info
:oneliner: Request header bytes
Total backend request header bytes sent
Total backend request header bytes sent
.. varnish_vsc:: bereq_bodybytes
:type: counter
:level: info
:oneliner: Request body bytes
Total backend request body bytes sent
Total backend request body bytes sent
.. varnish_vsc:: beresp_hdrbytes
:type: counter
:level: info
:oneliner: Response header bytes
Total backend response header bytes received
Total backend response header bytes received
.. varnish_vsc:: beresp_bodybytes
:type: counter
:level: info
:oneliner: Response body bytes
Total backend response body bytes received
Total backend response body bytes received
.. varnish_vsc:: pipe_hdrbytes
:type: counter
:level: info
:oneliner: Pipe request header bytes
Total request bytes sent for piped sessions
Total request bytes sent for piped sessions
.. varnish_vsc:: pipe_out
:type: counter
:level: info
:oneliner: Piped bytes to backend
Total number of bytes forwarded to backend in pipe sessions
Total number of bytes forwarded to backend in pipe sessions
.. varnish_vsc:: pipe_in
:type: counter
:level: info
:oneliner: Piped bytes from backend
Total number of bytes forwarded from backend in pipe sessions
Total number of bytes forwarded from backend in pipe sessions
.. varnish_vsc:: conn
:type: gauge
......
......@@ -20,6 +20,3 @@ varnishstat_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
@SAN_LDFLAGS@ \
@CURSES_LIB@ ${RT_LIBS} ${LIBM} ${PTHREAD_LIBS}
noinst_PROGRAMS = vsc2rst
vsc2rst_SOURCES = vsc2rst.c $(top_srcdir)/include/tbl/vsc_fields.h
/*-
* Copyright (c) 2011-2015 Varnish Software AS
* All rights reserved.
*
* Author: Tollef Fog Heen <tfheen@varnish-software.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
*/
#ifndef __FLEXELINT__
#include "config.h"
#include <stdio.h>
#define VSC_LEVEL_F(v,l,e,d) \
static const char VSC_level_##v[] = #v;
#include "tbl/vsc_levels.h"
#undef VSC_LEVEL_F
static void
L(const char *s)
{
printf("\n%s\n", s);
for (;*s != '\0'; s++)
putchar('=');
putchar('\n');
putchar('\n');
}
int main(int argc, char **argv)
{
(void)argc;
(void)argv;
L("COUNTER LEVELS");
#define VSC_LEVEL_F(v,l,e,d) \
printf("%s – %s\n\t%s\n\n", l, e, d);
#include "tbl/vsc_levels.h"
#define VSC_DO(U,l,t,h) L(h);
#define VSC_F(n, t, l, s, f, v, d, e) \
do { \
printf("``%s`` – ", #n); \
if (s == 'c') \
printf("`counter` - "); \
else if (s == 'g') \
printf("`gauge` - "); \
else if (s == 'b') \
printf("`bitmap` - "); \
printf("%s\n\n", VSC_level_##v); \
printf("\t%s\n\n", d); \
printf("\t%s\n\n", e); \
} while (0);
#define VSC_DONE(U,l,t)
#include "tbl/vsc_all.h"
return (0);
}
#endif // __FLEXELINT__
......@@ -123,8 +123,21 @@ include/params.rst: $(top_builddir)/bin/varnishd/varnishd
$(top_builddir)/bin/varnishd/varnishd -x parameter > $@
BUILT_SOURCES += include/params.rst
include/counters.rst: $(top_builddir)/bin/varnishstat/vsc2rst
$(top_builddir)/bin/varnishstat/vsc2rst > $@
COUNTERS = \
$(top_srcdir)/bin/varnishd/main.vsc \
$(top_srcdir)/bin/varnishd/mgt.vsc \
$(top_srcdir)/bin/varnishd/mempool.vsc \
$(top_srcdir)/bin/varnishd/sma.vsc \
$(top_srcdir)/bin/varnishd/smf.vsc \
$(top_srcdir)/bin/varnishd/vbe.vsc \
$(top_srcdir)/bin/varnishd/lck.vsc
include/counters.rst: $(top_srcdir)/lib/libvcc/vsctool.py $(COUNTERS)
echo -n '' > $@
for i in $(COUNTERS); do \
$(PYTHON) $(top_srcdir)/lib/libvcc/vsctool.py -r $$i >> $@ ; \
done
BUILT_SOURCES += include/counters.rst
# XXX add varnishstat here when it's been _opt2rst'ed
......
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
#
# Copyright (c) 2017 Varnish Software AS
# All rights reserved.
......@@ -241,6 +242,16 @@ class rst_vsc_begin(directive):
def vscset(self, ss):
ss.append(vscset(self.arg, self))
def emit_rst(self, fo):
fo.write("\n..\n\t" + self.cmd + ":: " + self.arg + "\n")
s = self.arg.upper() + " – " + self.param["oneliner"]
fo.write("\n")
fo.write(s + "\n")
fo.write("=" * len(s) + "\n")
self.emit_rst_doc(fo)
class rst_vsc(directive):
def __init__(self, s):
super(rst_vsc, self).__init__(s)
......@@ -250,9 +261,11 @@ class rst_vsc(directive):
self.param["level"] = "info"
def emit_rst(self, fo):
fo.write("\n``%s`` - " % self.arg)
fo.write("\n``%s`` " % self.arg)
fo.write("`%s` - " % self.param["type"])
fo.write("%s\n" % self.param["level"])
fo.write("%s\n\n" % self.param["level"])
fo.write("\t" + self.param["oneliner"] + "\n")
self.emit_rst_doc(fo)
def vscset(self, ss):
......@@ -266,6 +279,10 @@ class rst_vsc_end(directive):
def vscset(self, ss):
ss[-1].complete()
def emit_rst(self, fo):
fo.write("\n..\n\t" + self.cmd + ":: " + self.arg + "\n")
self.emit_rst_doc(fo)
class other(object):
def __init__(self, s):
self.s = s
......@@ -316,8 +333,8 @@ class vsc_file(object):
for i in self.vscset:
i.emit_c()
def emit_rst(self, fon):
fo = open(fon, "w")
def emit_rst(self):
fo = sys.stdout
for i in self.c:
i.emit_rst(fo)
......@@ -330,13 +347,13 @@ if __name__ == "__main__":
fo = sys.stdout
if len(args) != 1:
print("Need exactly one filename argument")
sys.stderr.write("Need exactly one filename argument\n")
exit(2)
vf = vsc_file(args[0])
for f,v in optlist:
if f == '-r':
vf.emit_rst("_.rst")
vf.emit_rst()
if f == '-h':
vf.emit_h()
if f == '-c':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment