haproxy/src
Willy Tarreau 00098ea034 MINOR: stats: report the number of active jobs and listeners in "show info"
When an haproxy process doesn't stop after a reload, it's because it
still has some active "jobs", which mainly are active sessions, listeners,
peers or other specific activities. Sometimes it's difficult to troubleshoot
the cause of these issues (which generally are the result of a bug) only
because some indicators are missing.

This patch add the number of listeners, the number of jobs, and the stopping
status to the output of "show info". This way it becomes a bit easier to try
to narrow down the cause of such an issue should it happen. A typical use
case is to connect to the CLI before reloading, then issuing the "show info"
command to see what happens. In the normal situation, stopping should equal
1, jobs should equal 1 (meaning only the CLI is still active) and listeners
should equal zero.

The patch is so trivial that it could make sense to backport it to 1.8 in
order to help with troubleshooting.
2018-11-05 17:15:21 +01:00
..
51d.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
acl.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MEDIUM: stream-int: replace channel_alloc_buffer() with si_alloc_ibuf() everywhere 2018-10-28 13:47:00 +01:00
arg.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
auth.c MEDIUM: auth/threads: make use of crypt_r() on systems supporting it 2018-10-29 19:17:39 +01:00
backend.c BUG/MINOR: backend: assign the wait list after the error check 2018-10-28 20:36:00 +01:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
cache.c MINOR: cache: Add "Age" header. 2018-10-28 19:06:59 +01:00
cfgparse.c MEDIUM: cli: implement 'mode cli' proxy analyzers 2018-10-28 14:03:06 +01:00
channel.c BUG/MEDIUM: buffers: Make sure we don't wrap in ci_insert_line2/b_rep_blk. 2018-10-08 16:11:54 +02:00
checks.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
chunk.c MINOR: chunk: remove impossible tests on negative chunk->data 2018-08-22 05:28:32 +02:00
cli.c BUG/MINOR: cli: forward the whole command on master CLI 2018-10-29 17:23:27 +01:00
compression.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
connection.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
da.c CLEANUP: http: remove some leftovers from recent cleanups 2018-10-02 18:37:27 +02:00
dns.c BUILD: dns: fix null-deref build warning at -Wextra 2018-09-20 11:42:15 +02:00
ev_epoll.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_kqueue.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_poll.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
ev_select.c MINOR: poller: move time and date computation out of the pollers 2018-10-17 19:59:43 +02:00
fd.c MEDIUM: fd/threads: only grab the fd's lock if the FD has more than one thread 2018-10-15 13:25:06 +02:00
filters.c DOC: Fix typos in lua documentation 2018-09-14 09:31:34 +02:00
flt_http_comp.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02:00
flt_spoe.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
flt_trace.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
h1.c MINOR: h1: Add the flag H1_MF_NO_PHDR to not add pseudo-headers during parsing 2018-10-12 16:15:18 +02:00
h2.c BUG/MEDIUM: h2: implement missing support for chunked encoded uploads 2018-04-26 10:20:44 +02:00
haproxy.c MEDIUM: mworker: stop the master proxy in the workers 2018-10-28 14:03:31 +01:00
hash.c MINOR: hash: add new function hash_crc32c 2018-03-21 05:04:01 +01:00
hathreads.c BUG/MEDIUM: threads: fix thread_release() at the end of the rendez-vous point 2018-10-16 17:03:16 +02:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua_fcn.c MEDIUM: lua: Add stick table support for Lua. 2018-09-29 20:15:01 +02:00
hlua.c MEDIUM: stream-int: replace channel_alloc_buffer() with si_alloc_ibuf() everywhere 2018-10-28 13:47:00 +01:00
hpack-dec.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
hpack-enc.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
http_acl.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_act.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
http_conv.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_fetch.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
http.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fas.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwlc.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwrr.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_map.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
listener.c MEDIUM: listeners: set O_CLOEXEC on the accepted FDs 2018-10-28 14:03:31 +01:00
log.c MINOR: log: make sess_log() support sess=NULL 2018-10-12 16:58:01 +02:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUG/MEDIUM: map: don't store exp_replace() result in the trash's length 2018-08-22 05:16:33 +02:00
memory.c BUG/MEDIUM: pools: fix the minimum allocation size 2018-10-23 14:40:23 +02:00
mux_h2.c MINOR: h2: Don't run tasks that are waiting to send if mux in full. 2018-10-21 06:00:13 +02:00
mux_pt.c MEDIUM: connections: Don't directly mess with the polling from the upper layers. 2018-10-21 05:58:40 +02:00
namespace.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
pattern.c BUG/MEDIUM: patterns: fix possible double free when reloading a pattern list 2018-09-19 06:46:51 +02:00
payload.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
peers.c BUG/MINOR: tasks: make sure wakeup events are properly reported to subscribers 2018-11-05 17:15:21 +01:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c BUG/MAJOR: http: http_txn_get_path() may deference an inexisting buffer 2018-10-28 20:16:12 +01:00
proto_sockpair.c BUILD: sockpair: silence a build warning at -Wextra 2018-09-20 11:42:15 +02:00
proto_tcp.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
protocol.c MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.c MEDIUM: cli: implement 'mode cli' proxy analyzers 2018-10-28 14:03:06 +01:00
queue.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
raw_sock.c MINOR: connections: Introduce an unsubscribe method. 2018-10-11 15:34:21 +02:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
server.c MINOR: server: export new_server() function 2018-10-28 13:51:38 +01:00
session.c BUG/MINOR: tasks: make sure wakeup events are properly reported to subscribers 2018-11-05 17:15:21 +01:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.c MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
ssl_sock.c BUG/MINOR: ssl: Wrong usage of shctx_init(). 2018-10-26 04:54:40 +02:00
standard.c MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
stats.c MINOR: stats: report the number of active jobs and listeners in "show info" 2018-11-05 17:15:21 +01:00
stick_table.c BUILD: stick-table: make sure not to fail on task_new() during initialization 2018-10-15 13:24:43 +02:00
stream_interface.c BUG/MAJOR: stream-int: don't call si_cs_recv() in stream_int_chk_rcv_conn() 2018-10-30 11:05:24 +01:00
stream.c MEDIUM: cli: implement 'mode cli' proxy analyzers 2018-10-28 14:03:06 +01:00
task.c OPTIM: tasks: group all tree roots per cache line 2018-10-15 19:06:13 +02:00
tcp_rules.c BUG/MINOR: build: Fix compilation with debug mode enabled 2018-07-20 10:45:20 +02:00
time.c MEDIUM: time: measure the time stolen by other threads 2018-10-19 08:51:59 +02:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
wurfl.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00