haproxy/include/types
Willy Tarreau 2e9c1d2960 MINOR: stream: measure and report a stream's call rate in "show sess"
Quite a few times some bugs have made a stream task incorrectly
handle a complex combination of events, which was often reported as
"100% CPU", and was usually caused by the event not being properly
identified and flushed, and the stream's handler called in loops.

This patch adds a call rate counter to the stream struct. It's not
huge, it's really inexpensive (especially compared to the rest of the
processing function) and will easily help spot such tasks in "show sess"
output, possibly even allowing to kill them.

A future patch should probably consist in alerting when they're above a
certain threshold, possibly sending a dump and killing them. Some options
could also consist in aborting in order to get an analyzable core dump
and let a service manager restart a fresh new process.
2019-04-24 16:04:23 +02:00
..
acl.h
action.h MINOR: action: new '(http-request|tcp-request content) do-resolve' action 2019-04-23 11:41:52 +02:00
activity.h MINOR: tasks/activity: report the context switch and task wakeup rates 2019-04-24 16:04:23 +02:00
applet.h MINOR: peers: Add a new command to the CLI for peers. 2019-04-16 09:58:40 +02:00
arg.h MINOR: arg: Add support for ARGT_PBUF_FNUM arg type. 2019-02-26 16:27:05 +01:00
auth.h
backend.h MEDIUM: backend: move all LB algo parameters into an union 2019-01-14 19:33:17 +01:00
capture.h
channel.h MINOR: channel: Report EOI on the input channel if it was reached in the mux 2019-03-25 06:24:43 +01:00
checks.h MINOR: checks: Store the proxy in checks. 2019-01-14 11:15:11 +01:00
cli.h MEDIUM: cli: disable some keywords in the master 2018-10-28 13:51:39 +01:00
compression.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
connection.h MEDIUM: connections: Provide a xprt_ctx for each xprt method. 2019-04-18 14:56:24 +02:00
counters.h MINOR: cache: report the number of cache lookups and cache hits 2018-12-14 14:00:25 +01:00
dns.h MINOR: dns: dns_requester structures are now in a memory pool 2019-04-23 11:33:48 +02:00
fd.h CLEANUP: Fix typos in the file descriptor subsystem 2018-12-02 18:43:25 +01:00
filters.h MAJOR: filters: Adapt filters API to be compatible with the HTX represenation 2018-12-01 17:37:27 +01:00
freq_ctr.h
global.h MEDIUM: connections: Add a way to control the number of idling connections. 2019-04-18 19:52:03 +02:00
hdr_idx.h
hlua.h REORG: h1: move the h1_state definition to proto_http 2018-12-11 17:15:13 +01:00
http_htx.h REORG: htx: merge types+proto into common/htx.h 2018-12-11 17:15:04 +01:00
lb_chash.h MINOR: backend: move hash_balance_factor out of chash 2019-01-14 19:33:17 +01:00
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h MINOR: listener: move thr_idx from the bind_conf to the listener 2019-03-07 14:08:26 +01:00
log.h MEDIUM: log: add a new "raw" format 2018-11-12 18:37:55 +01:00
mailers.h
map.h
obj_type.h MINOR: obj_type: new object type for struct stream 2019-04-23 11:35:56 +02:00
pattern.h
peers.h MINOR: peers: Add a message for heartbeat. 2019-03-01 09:33:26 +01:00
pipe.h
port_range.h
proto_http.h MINOR: stats: Move stuff about the stats status codes in stats files 2019-03-15 14:34:59 +01:00
proto_udp.h
protocol_buffers.h MINOR: sample: Rework gRPC converter code. 2019-03-05 11:04:23 +01:00
protocol.h MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.h MINOR: backend: remap the balance uri settings to lbprm.arg_opt{1,2,3} 2019-01-14 19:33:17 +01:00
queue.h MINOR: queue: replace the linked list with a tree 2018-08-10 15:06:27 +02:00
sample.h REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
server.h MEDIUM: servers: Reorganize the way idle connections are cleaned. 2019-02-26 18:17:32 +01:00
session.h MEDIUM: sessions: Keep track of which connections are idle. 2018-12-28 19:16:03 +01:00
shctx.h MINOR: shctx: Change max. object size type to unsigned int. 2018-10-26 04:54:40 +02:00
signal.h
spoe.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
ssl_sock.h BUG/MINOR: ssl: Fix 48 byte TLS ticket key rotation 2019-04-15 10:09:54 +02:00
stats.h MINOR: action: new '(http-request|tcp-request content) do-resolve' action 2019-04-23 11:41:52 +02:00
stick_table.h
stream_interface.h CLEANUP: muxes/stream-int: Remove flags CS_FL_READ_NULL and SI_FL_READ_NULL 2019-03-25 06:55:23 +01:00
stream.h MINOR: stream: measure and report a stream's call rate in "show sess" 2019-04-24 16:04:23 +02:00
task.h BUG/MINOR: task: fix possibly missed event in inter-thread wakeups 2019-01-28 15:03:04 +01:00
template.h
vars.h