BUILD: stats: fix missing '=' sign in array declaration
I introduced this mistake when adding the description for the stats
metrics, it's even amazing it built and worked at all! This was
reported by Travis CI on non-GNU platforms :
src/stats.c:92:39: warning: use of GNU 'missing =' extension in designator [-Wgnu-designator]
[INF_NAME] { .name = "Name", .desc = "Product name" },
^
=
No backport is needed.
diff --git a/src/stats.c b/src/stats.c
index e1b168e..c152a7a 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -89,162 +89,162 @@
* be lower case or CamelCase while the enum entries must be upper case.
*/
const struct name_desc info_fields[INF_TOTAL_FIELDS] = {
- [INF_NAME] { .name = "Name", .desc = "Product name" },
- [INF_VERSION] { .name = "Version", .desc = "Product version" },
- [INF_RELEASE_DATE] { .name = "Release_date", .desc = "Date of latest source code update" },
- [INF_NBTHREAD] { .name = "Nbthread", .desc = "Number of started threads (global.nbthread)" },
- [INF_NBPROC] { .name = "Nbproc", .desc = "Number of started worker processes (global.nbproc)" },
- [INF_PROCESS_NUM] { .name = "Process_num", .desc = "Relative worker process number (1..Nbproc)" },
- [INF_PID] { .name = "Pid", .desc = "This worker process identifier for the system" },
- [INF_UPTIME] { .name = "Uptime", .desc = "How long ago this worker process was started (days+hours+minutes+seconds)" },
- [INF_UPTIME_SEC] { .name = "Uptime_sec", .desc = "How long ago this worker process was started (seconds)" },
- [INF_MEMMAX_MB] { .name = "Memmax_MB", .desc = "Worker process's hard limit on memory usage in MB (-m on command line)" },
- [INF_POOL_ALLOC_MB] { .name = "PoolAlloc_MB", .desc = "Amount of memory allocated in pools (in MB)" },
- [INF_POOL_USED_MB] { .name = "PoolUsed_MB", .desc = "Amount of pool memory currently used (in MB)" },
- [INF_POOL_FAILED] { .name = "PoolFailed", .desc = "Number of failed pool allocations since this worker was started" },
- [INF_ULIMIT_N] { .name = "Ulimit-n", .desc = "Hard limit on the number of per-process file descriptors" },
- [INF_MAXSOCK] { .name = "Maxsock", .desc = "Hard limit on the number of per-process sockets" },
- [INF_MAXCONN] { .name = "Maxconn", .desc = "Hard limit on the number of per-process connections (configured or imposed by Ulimit-n)" },
- [INF_HARD_MAXCONN] { .name = "Hard_maxconn", .desc = "Hard limit on the number of per-process connections (imposed by Memmax_MB or Ulimit-n)" },
- [INF_CURR_CONN] { .name = "CurrConns", .desc = "Current number of connections on this worker process" },
- [INF_CUM_CONN] { .name = "CumConns", .desc = "Total number of connections on this worker process since started" },
- [INF_CUM_REQ] { .name = "CumReq", .desc = "Total number of requests on this worker process since started" },
- [INF_MAX_SSL_CONNS] { .name = "MaxSslConns", .desc = "Hard limit on the number of per-process SSL endpoints (front+back), 0=unlimited" },
- [INF_CURR_SSL_CONNS] { .name = "CurrSslConns", .desc = "Current number of SSL endpoints on this worker process (front+back)" },
- [INF_CUM_SSL_CONNS] { .name = "CumSslConns", .desc = "Total number of SSL endpoints on this worker process since started (front+back)" },
- [INF_MAXPIPES] { .name = "Maxpipes", .desc = "Hard limit on the number of pipes for splicing, 0=unlimited" },
- [INF_PIPES_USED] { .name = "PipesUsed", .desc = "Current number of pipes in use in this worker process" },
- [INF_PIPES_FREE] { .name = "PipesFree", .desc = "Current number of allocated and available pipes in this worker process" },
- [INF_CONN_RATE] { .name = "ConnRate", .desc = "Number of front connections created on this worker process over the last second" },
- [INF_CONN_RATE_LIMIT] { .name = "ConnRateLimit", .desc = "Hard limit for ConnRate (global.maxconnrate)" },
- [INF_MAX_CONN_RATE] { .name = "MaxConnRate", .desc = "Highest ConnRate reached on this worker process since started (in connections per second)" },
- [INF_SESS_RATE] { .name = "SessRate", .desc = "Number of sessions created on this worker process over the last second" },
- [INF_SESS_RATE_LIMIT] { .name = "SessRateLimit", .desc = "Hard limit for SessRate (global.maxsessrate)" },
- [INF_MAX_SESS_RATE] { .name = "MaxSessRate", .desc = "Highest SessRate reached on this worker process since started (in sessions per second)" },
- [INF_SSL_RATE] { .name = "SslRate", .desc = "Number of SSL connections created on this worker process over the last second" },
- [INF_SSL_RATE_LIMIT] { .name = "SslRateLimit", .desc = "Hard limit for SslRate (global.maxsslrate)" },
- [INF_MAX_SSL_RATE] { .name = "MaxSslRate", .desc = "Highest SslRate reached on this worker process since started (in connections per second)" },
- [INF_SSL_FRONTEND_KEY_RATE] { .name = "SslFrontendKeyRate", .desc = "Number of SSL keys created on frontends in this worker process over the last second" },
- [INF_SSL_FRONTEND_MAX_KEY_RATE] { .name = "SslFrontendMaxKeyRate", .desc = "Highest SslFrontendKeyRate reached on this worker process since started (in SSL keys per second)" },
- [INF_SSL_FRONTEND_SESSION_REUSE_PCT] { .name = "SslFrontendSessionReuse_pct", .desc = "Percent of frontend SSL connections which did not require a new key" },
- [INF_SSL_BACKEND_KEY_RATE] { .name = "SslBackendKeyRate", .desc = "Number of SSL keys created on backends in this worker process over the last second" },
- [INF_SSL_BACKEND_MAX_KEY_RATE] { .name = "SslBackendMaxKeyRate", .desc = "Highest SslBackendKeyRate reached on this worker process since started (in SSL keys per second)" },
- [INF_SSL_CACHE_LOOKUPS] { .name = "SslCacheLookups", .desc = "Total number of SSL session ID lookups in the SSL session cache on this worker since started" },
- [INF_SSL_CACHE_MISSES] { .name = "SslCacheMisses", .desc = "Total number of SSL session ID lookups that didn't find a session in the SSL session cache on this worker since started" },
- [INF_COMPRESS_BPS_IN] { .name = "CompressBpsIn", .desc = "Number of bytes submitted to the HTTP compressor in this worker process over the last second" },
- [INF_COMPRESS_BPS_OUT] { .name = "CompressBpsOut", .desc = "Number of bytes emitted by the HTTP compressor in this worker process over the last second" },
- [INF_COMPRESS_BPS_RATE_LIM] { .name = "CompressBpsRateLim", .desc = "Limit of CompressBpsOut beyond which HTTP compression is automatically disabled" },
- [INF_ZLIB_MEM_USAGE] { .name = "ZlibMemUsage", .desc = "Amount of memory currently used by HTTP compression on the current worker process (in bytes)" },
- [INF_MAX_ZLIB_MEM_USAGE] { .name = "MaxZlibMemUsage", .desc = "Limit on the amount of memory used by HTTP compression above which it is automatically disabled (in bytes, see global.maxzlibmem)" },
- [INF_TASKS] { .name = "Tasks", .desc = "Total number of tasks in the current worker process (active + sleeping)" },
- [INF_RUN_QUEUE] { .name = "Run_queue", .desc = "Total number of active tasks+tasklets in the current worker process" },
- [INF_IDLE_PCT] { .name = "Idle_pct", .desc = "Percentage of last second spent waiting in the current worker thread" },
- [INF_NODE] { .name = "node", .desc = "Node name (global.node)" },
- [INF_DESCRIPTION] { .name = "description", .desc = "Node description (global.description)" },
- [INF_STOPPING] { .name = "Stopping", .desc = "1 if the worker process is currently stopping, otherwise zero" },
- [INF_JOBS] { .name = "Jobs", .desc = "Current number of active jobs on the current worker process (frontend connections, master connections, listeners)" },
- [INF_UNSTOPPABLE_JOBS] { .name = "Unstoppable Jobs", .desc = "Current number of unstoppable jobs on the current worker process (master connections)" },
- [INF_LISTENERS] { .name = "Listeners", .desc = "Current number of active listeners on the current worker process" },
- [INF_ACTIVE_PEERS] { .name = "ActivePeers", .desc = "Current number of verified active peers connections on the current worker process" },
- [INF_CONNECTED_PEERS] { .name = "ConnectedPeers", .desc = "Current number of peers having passed the connection step on the current worker process" },
- [INF_DROPPED_LOGS] { .name = "DroppedLogs", .desc = "Total number of dropped logs for current worker process since started" },
- [INF_BUSY_POLLING] { .name = "BusyPolling", .desc = "1 if busy-polling is currently in use on the worker process, otherwise zero (config.busy-polling)" },
- [INF_FAILED_RESOLUTIONS] { .name = "FailedResolutions", .desc = "Total number of failed DNS resolutions in current worker process since started" },
- [INF_TOTAL_BYTES_OUT] { .name = "TotalBytesOut", .desc = "Total number of bytes emitted by current worker process since started" },
- [INF_BYTES_OUT_RATE] { .name = "BytesOutRate", .desc = "Number of bytes emitted by current worker process over the last second" },
+ [INF_NAME] = { .name = "Name", .desc = "Product name" },
+ [INF_VERSION] = { .name = "Version", .desc = "Product version" },
+ [INF_RELEASE_DATE] = { .name = "Release_date", .desc = "Date of latest source code update" },
+ [INF_NBTHREAD] = { .name = "Nbthread", .desc = "Number of started threads (global.nbthread)" },
+ [INF_NBPROC] = { .name = "Nbproc", .desc = "Number of started worker processes (global.nbproc)" },
+ [INF_PROCESS_NUM] = { .name = "Process_num", .desc = "Relative worker process number (1..Nbproc)" },
+ [INF_PID] = { .name = "Pid", .desc = "This worker process identifier for the system" },
+ [INF_UPTIME] = { .name = "Uptime", .desc = "How long ago this worker process was started (days+hours+minutes+seconds)" },
+ [INF_UPTIME_SEC] = { .name = "Uptime_sec", .desc = "How long ago this worker process was started (seconds)" },
+ [INF_MEMMAX_MB] = { .name = "Memmax_MB", .desc = "Worker process's hard limit on memory usage in MB (-m on command line)" },
+ [INF_POOL_ALLOC_MB] = { .name = "PoolAlloc_MB", .desc = "Amount of memory allocated in pools (in MB)" },
+ [INF_POOL_USED_MB] = { .name = "PoolUsed_MB", .desc = "Amount of pool memory currently used (in MB)" },
+ [INF_POOL_FAILED] = { .name = "PoolFailed", .desc = "Number of failed pool allocations since this worker was started" },
+ [INF_ULIMIT_N] = { .name = "Ulimit-n", .desc = "Hard limit on the number of per-process file descriptors" },
+ [INF_MAXSOCK] = { .name = "Maxsock", .desc = "Hard limit on the number of per-process sockets" },
+ [INF_MAXCONN] = { .name = "Maxconn", .desc = "Hard limit on the number of per-process connections (configured or imposed by Ulimit-n)" },
+ [INF_HARD_MAXCONN] = { .name = "Hard_maxconn", .desc = "Hard limit on the number of per-process connections (imposed by Memmax_MB or Ulimit-n)" },
+ [INF_CURR_CONN] = { .name = "CurrConns", .desc = "Current number of connections on this worker process" },
+ [INF_CUM_CONN] = { .name = "CumConns", .desc = "Total number of connections on this worker process since started" },
+ [INF_CUM_REQ] = { .name = "CumReq", .desc = "Total number of requests on this worker process since started" },
+ [INF_MAX_SSL_CONNS] = { .name = "MaxSslConns", .desc = "Hard limit on the number of per-process SSL endpoints (front+back), 0=unlimited" },
+ [INF_CURR_SSL_CONNS] = { .name = "CurrSslConns", .desc = "Current number of SSL endpoints on this worker process (front+back)" },
+ [INF_CUM_SSL_CONNS] = { .name = "CumSslConns", .desc = "Total number of SSL endpoints on this worker process since started (front+back)" },
+ [INF_MAXPIPES] = { .name = "Maxpipes", .desc = "Hard limit on the number of pipes for splicing, 0=unlimited" },
+ [INF_PIPES_USED] = { .name = "PipesUsed", .desc = "Current number of pipes in use in this worker process" },
+ [INF_PIPES_FREE] = { .name = "PipesFree", .desc = "Current number of allocated and available pipes in this worker process" },
+ [INF_CONN_RATE] = { .name = "ConnRate", .desc = "Number of front connections created on this worker process over the last second" },
+ [INF_CONN_RATE_LIMIT] = { .name = "ConnRateLimit", .desc = "Hard limit for ConnRate (global.maxconnrate)" },
+ [INF_MAX_CONN_RATE] = { .name = "MaxConnRate", .desc = "Highest ConnRate reached on this worker process since started (in connections per second)" },
+ [INF_SESS_RATE] = { .name = "SessRate", .desc = "Number of sessions created on this worker process over the last second" },
+ [INF_SESS_RATE_LIMIT] = { .name = "SessRateLimit", .desc = "Hard limit for SessRate (global.maxsessrate)" },
+ [INF_MAX_SESS_RATE] = { .name = "MaxSessRate", .desc = "Highest SessRate reached on this worker process since started (in sessions per second)" },
+ [INF_SSL_RATE] = { .name = "SslRate", .desc = "Number of SSL connections created on this worker process over the last second" },
+ [INF_SSL_RATE_LIMIT] = { .name = "SslRateLimit", .desc = "Hard limit for SslRate (global.maxsslrate)" },
+ [INF_MAX_SSL_RATE] = { .name = "MaxSslRate", .desc = "Highest SslRate reached on this worker process since started (in connections per second)" },
+ [INF_SSL_FRONTEND_KEY_RATE] = { .name = "SslFrontendKeyRate", .desc = "Number of SSL keys created on frontends in this worker process over the last second" },
+ [INF_SSL_FRONTEND_MAX_KEY_RATE] = { .name = "SslFrontendMaxKeyRate", .desc = "Highest SslFrontendKeyRate reached on this worker process since started (in SSL keys per second)" },
+ [INF_SSL_FRONTEND_SESSION_REUSE_PCT] = { .name = "SslFrontendSessionReuse_pct", .desc = "Percent of frontend SSL connections which did not require a new key" },
+ [INF_SSL_BACKEND_KEY_RATE] = { .name = "SslBackendKeyRate", .desc = "Number of SSL keys created on backends in this worker process over the last second" },
+ [INF_SSL_BACKEND_MAX_KEY_RATE] = { .name = "SslBackendMaxKeyRate", .desc = "Highest SslBackendKeyRate reached on this worker process since started (in SSL keys per second)" },
+ [INF_SSL_CACHE_LOOKUPS] = { .name = "SslCacheLookups", .desc = "Total number of SSL session ID lookups in the SSL session cache on this worker since started" },
+ [INF_SSL_CACHE_MISSES] = { .name = "SslCacheMisses", .desc = "Total number of SSL session ID lookups that didn't find a session in the SSL session cache on this worker since started" },
+ [INF_COMPRESS_BPS_IN] = { .name = "CompressBpsIn", .desc = "Number of bytes submitted to the HTTP compressor in this worker process over the last second" },
+ [INF_COMPRESS_BPS_OUT] = { .name = "CompressBpsOut", .desc = "Number of bytes emitted by the HTTP compressor in this worker process over the last second" },
+ [INF_COMPRESS_BPS_RATE_LIM] = { .name = "CompressBpsRateLim", .desc = "Limit of CompressBpsOut beyond which HTTP compression is automatically disabled" },
+ [INF_ZLIB_MEM_USAGE] = { .name = "ZlibMemUsage", .desc = "Amount of memory currently used by HTTP compression on the current worker process (in bytes)" },
+ [INF_MAX_ZLIB_MEM_USAGE] = { .name = "MaxZlibMemUsage", .desc = "Limit on the amount of memory used by HTTP compression above which it is automatically disabled (in bytes, see global.maxzlibmem)" },
+ [INF_TASKS] = { .name = "Tasks", .desc = "Total number of tasks in the current worker process (active + sleeping)" },
+ [INF_RUN_QUEUE] = { .name = "Run_queue", .desc = "Total number of active tasks+tasklets in the current worker process" },
+ [INF_IDLE_PCT] = { .name = "Idle_pct", .desc = "Percentage of last second spent waiting in the current worker thread" },
+ [INF_NODE] = { .name = "node", .desc = "Node name (global.node)" },
+ [INF_DESCRIPTION] = { .name = "description", .desc = "Node description (global.description)" },
+ [INF_STOPPING] = { .name = "Stopping", .desc = "1 if the worker process is currently stopping, otherwise zero" },
+ [INF_JOBS] = { .name = "Jobs", .desc = "Current number of active jobs on the current worker process (frontend connections, master connections, listeners)" },
+ [INF_UNSTOPPABLE_JOBS] = { .name = "Unstoppable Jobs", .desc = "Current number of unstoppable jobs on the current worker process (master connections)" },
+ [INF_LISTENERS] = { .name = "Listeners", .desc = "Current number of active listeners on the current worker process" },
+ [INF_ACTIVE_PEERS] = { .name = "ActivePeers", .desc = "Current number of verified active peers connections on the current worker process" },
+ [INF_CONNECTED_PEERS] = { .name = "ConnectedPeers", .desc = "Current number of peers having passed the connection step on the current worker process" },
+ [INF_DROPPED_LOGS] = { .name = "DroppedLogs", .desc = "Total number of dropped logs for current worker process since started" },
+ [INF_BUSY_POLLING] = { .name = "BusyPolling", .desc = "1 if busy-polling is currently in use on the worker process, otherwise zero (config.busy-polling)" },
+ [INF_FAILED_RESOLUTIONS] = { .name = "FailedResolutions", .desc = "Total number of failed DNS resolutions in current worker process since started" },
+ [INF_TOTAL_BYTES_OUT] = { .name = "TotalBytesOut", .desc = "Total number of bytes emitted by current worker process since started" },
+ [INF_BYTES_OUT_RATE] = { .name = "BytesOutRate", .desc = "Number of bytes emitted by current worker process over the last second" },
};
const struct name_desc stat_fields[ST_F_TOTAL_FIELDS] = {
- [ST_F_PXNAME] { .name = "pxname", .desc = "Proxy name" },
- [ST_F_SVNAME] { .name = "svname", .desc = "Server name" },
- [ST_F_QCUR] { .name = "qcur", .desc = "Current number of connections waiting in the server of backend queue" },
- [ST_F_QMAX] { .name = "qmax", .desc = "Highest value of qcur encountered since process started" },
- [ST_F_SCUR] { .name = "scur", .desc = "Current number of sessions on the frontend, backend or server" },
- [ST_F_SMAX] { .name = "smax", .desc = "Highest value of scur encountered since process started" },
- [ST_F_SLIM] { .name = "slim", .desc = "Frontend/listener/server's maxconn, backend's fullconn" },
- [ST_F_STOT] { .name = "stot", .desc = "Total number of sessions since process started" },
- [ST_F_BIN] { .name = "bin", .desc = "Total number of request bytes since process started" },
- [ST_F_BOUT] { .name = "bout", .desc = "Total number of response bytes since process started" },
- [ST_F_DREQ] { .name = "dreq", .desc = "Total number of denied requests since process started" },
- [ST_F_DRESP] { .name = "dresp", .desc = "Total number of denied responses since process started" },
- [ST_F_EREQ] { .name = "ereq", .desc = "Total number of invalid requests since process started" },
- [ST_F_ECON] { .name = "econ", .desc = "Total number of failed connections to server since the worker process started" },
- [ST_F_ERESP] { .name = "eresp", .desc = "Total number of invalid responses since the worker process started" },
- [ST_F_WRETR] { .name = "wretr", .desc = "Total number of server connection retries since the worker process started" },
- [ST_F_WREDIS] { .name = "wredis", .desc = "Total number of server redispatches due to connection failures since the worker process started" },
- [ST_F_STATUS] { .name = "status", .desc = "Frontend/listen status: OPEN/WAITING/FULL/STOP; backend: UP/DOWN; server: last check status" },
- [ST_F_WEIGHT] { .name = "weight", .desc = "Server weight, or sum of active servers' weights for a backend" },
- [ST_F_ACT] { .name = "act", .desc = "Total number of active UP servers with a non-zero weight" },
- [ST_F_BCK] { .name = "bck", .desc = "Total number of backup UP servers with a non-zero weight" },
- [ST_F_CHKFAIL] { .name = "chkfail", .desc = "Total number of failed individual health checks per server/backend, since the worker process started" },
- [ST_F_CHKDOWN] { .name = "chkdown", .desc = "Total number of failed checks causing UP to DOWN server transitions, per server/backend, since the worker process started" },
- [ST_F_LASTCHG] { .name = "lastchg", .desc = "How long ago the last server state changed, in seconds" },
- [ST_F_DOWNTIME] { .name = "downtime", .desc = "Total time spent in DOWN state, for server or backend" },
- [ST_F_QLIMIT] { .name = "qlimit", .desc = "Limit on the number of connections in queue, for servers only (maxqueue argument)" },
- [ST_F_PID] { .name = "pid", .desc = "Relative worker process number (1..nbproc)" },
- [ST_F_IID] { .name = "iid", .desc = "Frontend or Backend numeric identifier ('id' setting)" },
- [ST_F_SID] { .name = "sid", .desc = "Server numeric identifier ('id' setting)" },
- [ST_F_THROTTLE] { .name = "throttle", .desc = "Throttling ratio applied to a server's maxconn and weight during the slowstart period (0 to 100%)" },
- [ST_F_LBTOT] { .name = "lbtot", .desc = "Total number of requests routed by load balancing since the worker process started (ignores queue pop and stickiness)" },
- [ST_F_TRACKED] { .name = "tracked", .desc = "Name of the other server this server tracks for its state" },
- [ST_F_TYPE] { .name = "type", .desc = "Type of the object (Listener, Frontend, Backend, Server)" },
- [ST_F_RATE] { .name = "rate", .desc = "Total number of sessions processed by this object over the last second (sessions for listeners/frontends, requests for backends/servers)" },
- [ST_F_RATE_LIM] { .name = "rate_lim", .desc = "Limit on the number of sessions accepted in a second (frontend only, 'rate-limit sessions' setting)" },
- [ST_F_RATE_MAX] { .name = "rate_max", .desc = "Highest value of 'rate' observed since the worker process started" },
- [ST_F_CHECK_STATUS] { .name = "check_status", .desc = "Status report of the server's latest health check, prefixed with '*' if a check is currently in progress" },
- [ST_F_CHECK_CODE] { .name = "check_code", .desc = "HTTP/SMTP/LDAP status code reported by the latest server health check" },
- [ST_F_CHECK_DURATION] { .name = "check_duration", .desc = "Total duration of the latest server health check, in milliseconds" },
- [ST_F_HRSP_1XX] { .name = "hrsp_1xx", .desc = "Total number of HTTP responses with status 100-199 returned by this object since the worker process started" },
- [ST_F_HRSP_2XX] { .name = "hrsp_2xx", .desc = "Total number of HTTP responses with status 200-299 returned by this object since the worker process started" },
- [ST_F_HRSP_3XX] { .name = "hrsp_3xx", .desc = "Total number of HTTP responses with status 300-399 returned by this object since the worker process started" },
- [ST_F_HRSP_4XX] { .name = "hrsp_4xx", .desc = "Total number of HTTP responses with status 400-499 returned by this object since the worker process started" },
- [ST_F_HRSP_5XX] { .name = "hrsp_5xx", .desc = "Total number of HTTP responses with status 500-599 returned by this object since the worker process started" },
- [ST_F_HRSP_OTHER] { .name = "hrsp_other", .desc = "Total number of HTTP responses with status <100, >599 returned by this object since the worker process started (error -1 included)" },
- [ST_F_HANAFAIL] { .name = "hanafail", .desc = "Total number of failed checks caused by an 'on-error' directive after an 'observe' condition matched" },
- [ST_F_REQ_RATE] { .name = "req_rate", .desc = "Number of HTTP requests processed over the last second on this object" },
- [ST_F_REQ_RATE_MAX] { .name = "req_rate_max", .desc = "Highest value of 'req_rate' observed since the worker process started" },
- [ST_F_REQ_TOT] { .name = "req_tot", .desc = "Total number of HTTP requests processed by this object since the worker process started" },
- [ST_F_CLI_ABRT] { .name = "cli_abrt", .desc = "Total number of requests or connections aborted by the client since the worker process started" },
- [ST_F_SRV_ABRT] { .name = "srv_abrt", .desc = "Total number of requests or connections aborted by the server since the worker process started" },
- [ST_F_COMP_IN] { .name = "comp_in", .desc = "Total number of bytes submitted to the HTTP compressor for this object since the worker process started" },
- [ST_F_COMP_OUT] { .name = "comp_out", .desc = "Total number of bytes emitted by the HTTP compressor for this object since the worker process started" },
- [ST_F_COMP_BYP] { .name = "comp_byp", .desc = "Total number of bytes that bypassed HTTP compression for this object since the worker process started (CPU/memory/bandwidth limitation)" },
- [ST_F_COMP_RSP] { .name = "comp_rsp", .desc = "Total number of HTTP responses that were compressed for this object since the worker process started" },
- [ST_F_LASTSESS] { .name = "lastsess", .desc = "How long ago some traffic was seen on this object on this worker process, in seconds" },
- [ST_F_LAST_CHK] { .name = "last_chk", .desc = "Short description of the latest health check report for this server (see also check_desc)" },
- [ST_F_LAST_AGT] { .name = "last_agt", .desc = "Short description of the latest agent check report for this server (see also agent_desc)" },
- [ST_F_QTIME] { .name = "qtime", .desc = "Time spent in the queue, in milliseconds, averaged over the 1024 last requests (backend/server)" },
- [ST_F_CTIME] { .name = "ctime", .desc = "Time spent waiting for a connection to complete, in milliseconds, averaged over the 1024 last requests (backend/server)" },
- [ST_F_RTIME] { .name = "rtime", .desc = "Time spent waiting for a server response, in milliseconds, averaged over the 1024 last requests (backend/server)" },
- [ST_F_TTIME] { .name = "ttime", .desc = "Total request+response time (request+queue+connect+response+processing), in milliseconds, averaged over the 1024 last requests (backend/server)" },
- [ST_F_AGENT_STATUS] { .name = "agent_status", .desc = "Status report of the server's latest agent check, prefixed with '*' if a check is currently in progress" },
- [ST_F_AGENT_CODE] { .name = "agent_code", .desc = "Status code reported by the latest server agent check" },
- [ST_F_AGENT_DURATION] { .name = "agent_duration", .desc = "Total duration of the latest server agent check, in milliseconds" },
- [ST_F_CHECK_DESC] { .name = "check_desc", .desc = "Textual description of the latest health check report for this server" },
- [ST_F_AGENT_DESC] { .name = "agent_desc", .desc = "Textual description of the latest agent check report for this server" },
- [ST_F_CHECK_RISE] { .name = "check_rise", .desc = "Number of successful health checks before declaring a server UP (server 'rise' setting)" },
- [ST_F_CHECK_FALL] { .name = "check_fall", .desc = "Number of failed health checks before declaring a server DOWN (server 'fall' setting)" },
- [ST_F_CHECK_HEALTH] { .name = "check_health", .desc = "Current server health check level (0..fall-1=DOWN, fall..rise-1=UP)" },
- [ST_F_AGENT_RISE] { .name = "agent_rise", .desc = "Number of successful agent checks before declaring a server UP (server 'rise' setting)" },
- [ST_F_AGENT_FALL] { .name = "agent_fall", .desc = "Number of failed agent checks before declaring a server DOWN (server 'fall' setting)" },
- [ST_F_AGENT_HEALTH] { .name = "agent_health", .desc = "Current server agent check level (0..fall-1=DOWN, fall..rise-1=UP)" },
- [ST_F_ADDR] { .name = "addr", .desc = "Server's address:port, shown only if show-legends is set, or at levels oper/admin for the CLI" },
- [ST_F_COOKIE] { .name = "cookie", .desc = "Backend's cookie name or Server's cookie value, shown only if show-legends is set, or at levels oper/admin for the CLI" },
- [ST_F_MODE] { .name = "mode", .desc = "'mode' setting (tcp/http/health/cli)" },
- [ST_F_ALGO] { .name = "algo", .desc = "Backend's load balancing algorithm, shown only if show-legends is set, or at levels oper/admin for the CLI" },
- [ST_F_CONN_RATE] { .name = "conn_rate", .desc = "Number of new connections accepted over the last second on the frontend for this worker process" },
- [ST_F_CONN_RATE_MAX] { .name = "conn_rate_max", .desc = "Highest value of 'conn_rate' observed since the worker process started" },
- [ST_F_CONN_TOT] { .name = "conn_tot", .desc = "Total number of new connections accepted on this frontend since the worker process started" },
- [ST_F_INTERCEPTED] { .name = "intercepted", .desc = "Total number of HTTP requests intercepted on the frontend (redirects/stats/services) since the worker process started" },
- [ST_F_DCON] { .name = "dcon", .desc = "Total number of incoming connections blocked on a listener/frontend by a tcp-request connection rule since the worker process started" },
- [ST_F_DSES] { .name = "dses", .desc = "Total number of incoming sessions blocked on a listener/frontend by a tcp-request connection rule since the worker process started" },
- [ST_F_WREW] { .name = "wrew", .desc = "Total number of failed HTTP header rewrites since the worker process started" },
- [ST_F_CONNECT] { .name = "connect", .desc = "Total number of outgoing connection attempts on this backend/server since the worker process started" },
- [ST_F_REUSE] { .name = "reuse", .desc = "Total number of reused connection on this backend/server since the worker process started" },
- [ST_F_CACHE_LOOKUPS] { .name = "cache_lookups", .desc = "Total number of HTTP requests looked up in the cache on this frontend/backend since the worker process started" },
- [ST_F_CACHE_HITS] { .name = "cache_hits", .desc = "Total number of HTTP requests not found in the cache on this frontend/backend since the worker process started" },
- [ST_F_SRV_ICUR] { .name = "srv_icur", .desc = "Current number of idle connections available for reuse on this server" },
- [ST_F_SRV_ILIM] { .name = "src_ilim", .desc = "Limit on the number of available idle connections on this server (server 'pool_max_conn' directive)" },
+ [ST_F_PXNAME] = { .name = "pxname", .desc = "Proxy name" },
+ [ST_F_SVNAME] = { .name = "svname", .desc = "Server name" },
+ [ST_F_QCUR] = { .name = "qcur", .desc = "Current number of connections waiting in the server of backend queue" },
+ [ST_F_QMAX] = { .name = "qmax", .desc = "Highest value of qcur encountered since process started" },
+ [ST_F_SCUR] = { .name = "scur", .desc = "Current number of sessions on the frontend, backend or server" },
+ [ST_F_SMAX] = { .name = "smax", .desc = "Highest value of scur encountered since process started" },
+ [ST_F_SLIM] = { .name = "slim", .desc = "Frontend/listener/server's maxconn, backend's fullconn" },
+ [ST_F_STOT] = { .name = "stot", .desc = "Total number of sessions since process started" },
+ [ST_F_BIN] = { .name = "bin", .desc = "Total number of request bytes since process started" },
+ [ST_F_BOUT] = { .name = "bout", .desc = "Total number of response bytes since process started" },
+ [ST_F_DREQ] = { .name = "dreq", .desc = "Total number of denied requests since process started" },
+ [ST_F_DRESP] = { .name = "dresp", .desc = "Total number of denied responses since process started" },
+ [ST_F_EREQ] = { .name = "ereq", .desc = "Total number of invalid requests since process started" },
+ [ST_F_ECON] = { .name = "econ", .desc = "Total number of failed connections to server since the worker process started" },
+ [ST_F_ERESP] = { .name = "eresp", .desc = "Total number of invalid responses since the worker process started" },
+ [ST_F_WRETR] = { .name = "wretr", .desc = "Total number of server connection retries since the worker process started" },
+ [ST_F_WREDIS] = { .name = "wredis", .desc = "Total number of server redispatches due to connection failures since the worker process started" },
+ [ST_F_STATUS] = { .name = "status", .desc = "Frontend/listen status: OPEN/WAITING/FULL/STOP; backend: UP/DOWN; server: last check status" },
+ [ST_F_WEIGHT] = { .name = "weight", .desc = "Server weight, or sum of active servers' weights for a backend" },
+ [ST_F_ACT] = { .name = "act", .desc = "Total number of active UP servers with a non-zero weight" },
+ [ST_F_BCK] = { .name = "bck", .desc = "Total number of backup UP servers with a non-zero weight" },
+ [ST_F_CHKFAIL] = { .name = "chkfail", .desc = "Total number of failed individual health checks per server/backend, since the worker process started" },
+ [ST_F_CHKDOWN] = { .name = "chkdown", .desc = "Total number of failed checks causing UP to DOWN server transitions, per server/backend, since the worker process started" },
+ [ST_F_LASTCHG] = { .name = "lastchg", .desc = "How long ago the last server state changed, in seconds" },
+ [ST_F_DOWNTIME] = { .name = "downtime", .desc = "Total time spent in DOWN state, for server or backend" },
+ [ST_F_QLIMIT] = { .name = "qlimit", .desc = "Limit on the number of connections in queue, for servers only (maxqueue argument)" },
+ [ST_F_PID] = { .name = "pid", .desc = "Relative worker process number (1..nbproc)" },
+ [ST_F_IID] = { .name = "iid", .desc = "Frontend or Backend numeric identifier ('id' setting)" },
+ [ST_F_SID] = { .name = "sid", .desc = "Server numeric identifier ('id' setting)" },
+ [ST_F_THROTTLE] = { .name = "throttle", .desc = "Throttling ratio applied to a server's maxconn and weight during the slowstart period (0 to 100%)" },
+ [ST_F_LBTOT] = { .name = "lbtot", .desc = "Total number of requests routed by load balancing since the worker process started (ignores queue pop and stickiness)" },
+ [ST_F_TRACKED] = { .name = "tracked", .desc = "Name of the other server this server tracks for its state" },
+ [ST_F_TYPE] = { .name = "type", .desc = "Type of the object (Listener, Frontend, Backend, Server)" },
+ [ST_F_RATE] = { .name = "rate", .desc = "Total number of sessions processed by this object over the last second (sessions for listeners/frontends, requests for backends/servers)" },
+ [ST_F_RATE_LIM] = { .name = "rate_lim", .desc = "Limit on the number of sessions accepted in a second (frontend only, 'rate-limit sessions' setting)" },
+ [ST_F_RATE_MAX] = { .name = "rate_max", .desc = "Highest value of 'rate' observed since the worker process started" },
+ [ST_F_CHECK_STATUS] = { .name = "check_status", .desc = "Status report of the server's latest health check, prefixed with '*' if a check is currently in progress" },
+ [ST_F_CHECK_CODE] = { .name = "check_code", .desc = "HTTP/SMTP/LDAP status code reported by the latest server health check" },
+ [ST_F_CHECK_DURATION] = { .name = "check_duration", .desc = "Total duration of the latest server health check, in milliseconds" },
+ [ST_F_HRSP_1XX] = { .name = "hrsp_1xx", .desc = "Total number of HTTP responses with status 100-199 returned by this object since the worker process started" },
+ [ST_F_HRSP_2XX] = { .name = "hrsp_2xx", .desc = "Total number of HTTP responses with status 200-299 returned by this object since the worker process started" },
+ [ST_F_HRSP_3XX] = { .name = "hrsp_3xx", .desc = "Total number of HTTP responses with status 300-399 returned by this object since the worker process started" },
+ [ST_F_HRSP_4XX] = { .name = "hrsp_4xx", .desc = "Total number of HTTP responses with status 400-499 returned by this object since the worker process started" },
+ [ST_F_HRSP_5XX] = { .name = "hrsp_5xx", .desc = "Total number of HTTP responses with status 500-599 returned by this object since the worker process started" },
+ [ST_F_HRSP_OTHER] = { .name = "hrsp_other", .desc = "Total number of HTTP responses with status <100, >599 returned by this object since the worker process started (error -1 included)" },
+ [ST_F_HANAFAIL] = { .name = "hanafail", .desc = "Total number of failed checks caused by an 'on-error' directive after an 'observe' condition matched" },
+ [ST_F_REQ_RATE] = { .name = "req_rate", .desc = "Number of HTTP requests processed over the last second on this object" },
+ [ST_F_REQ_RATE_MAX] = { .name = "req_rate_max", .desc = "Highest value of 'req_rate' observed since the worker process started" },
+ [ST_F_REQ_TOT] = { .name = "req_tot", .desc = "Total number of HTTP requests processed by this object since the worker process started" },
+ [ST_F_CLI_ABRT] = { .name = "cli_abrt", .desc = "Total number of requests or connections aborted by the client since the worker process started" },
+ [ST_F_SRV_ABRT] = { .name = "srv_abrt", .desc = "Total number of requests or connections aborted by the server since the worker process started" },
+ [ST_F_COMP_IN] = { .name = "comp_in", .desc = "Total number of bytes submitted to the HTTP compressor for this object since the worker process started" },
+ [ST_F_COMP_OUT] = { .name = "comp_out", .desc = "Total number of bytes emitted by the HTTP compressor for this object since the worker process started" },
+ [ST_F_COMP_BYP] = { .name = "comp_byp", .desc = "Total number of bytes that bypassed HTTP compression for this object since the worker process started (CPU/memory/bandwidth limitation)" },
+ [ST_F_COMP_RSP] = { .name = "comp_rsp", .desc = "Total number of HTTP responses that were compressed for this object since the worker process started" },
+ [ST_F_LASTSESS] = { .name = "lastsess", .desc = "How long ago some traffic was seen on this object on this worker process, in seconds" },
+ [ST_F_LAST_CHK] = { .name = "last_chk", .desc = "Short description of the latest health check report for this server (see also check_desc)" },
+ [ST_F_LAST_AGT] = { .name = "last_agt", .desc = "Short description of the latest agent check report for this server (see also agent_desc)" },
+ [ST_F_QTIME] = { .name = "qtime", .desc = "Time spent in the queue, in milliseconds, averaged over the 1024 last requests (backend/server)" },
+ [ST_F_CTIME] = { .name = "ctime", .desc = "Time spent waiting for a connection to complete, in milliseconds, averaged over the 1024 last requests (backend/server)" },
+ [ST_F_RTIME] = { .name = "rtime", .desc = "Time spent waiting for a server response, in milliseconds, averaged over the 1024 last requests (backend/server)" },
+ [ST_F_TTIME] = { .name = "ttime", .desc = "Total request+response time (request+queue+connect+response+processing), in milliseconds, averaged over the 1024 last requests (backend/server)" },
+ [ST_F_AGENT_STATUS] = { .name = "agent_status", .desc = "Status report of the server's latest agent check, prefixed with '*' if a check is currently in progress" },
+ [ST_F_AGENT_CODE] = { .name = "agent_code", .desc = "Status code reported by the latest server agent check" },
+ [ST_F_AGENT_DURATION] = { .name = "agent_duration", .desc = "Total duration of the latest server agent check, in milliseconds" },
+ [ST_F_CHECK_DESC] = { .name = "check_desc", .desc = "Textual description of the latest health check report for this server" },
+ [ST_F_AGENT_DESC] = { .name = "agent_desc", .desc = "Textual description of the latest agent check report for this server" },
+ [ST_F_CHECK_RISE] = { .name = "check_rise", .desc = "Number of successful health checks before declaring a server UP (server 'rise' setting)" },
+ [ST_F_CHECK_FALL] = { .name = "check_fall", .desc = "Number of failed health checks before declaring a server DOWN (server 'fall' setting)" },
+ [ST_F_CHECK_HEALTH] = { .name = "check_health", .desc = "Current server health check level (0..fall-1=DOWN, fall..rise-1=UP)" },
+ [ST_F_AGENT_RISE] = { .name = "agent_rise", .desc = "Number of successful agent checks before declaring a server UP (server 'rise' setting)" },
+ [ST_F_AGENT_FALL] = { .name = "agent_fall", .desc = "Number of failed agent checks before declaring a server DOWN (server 'fall' setting)" },
+ [ST_F_AGENT_HEALTH] = { .name = "agent_health", .desc = "Current server agent check level (0..fall-1=DOWN, fall..rise-1=UP)" },
+ [ST_F_ADDR] = { .name = "addr", .desc = "Server's address:port, shown only if show-legends is set, or at levels oper/admin for the CLI" },
+ [ST_F_COOKIE] = { .name = "cookie", .desc = "Backend's cookie name or Server's cookie value, shown only if show-legends is set, or at levels oper/admin for the CLI" },
+ [ST_F_MODE] = { .name = "mode", .desc = "'mode' setting (tcp/http/health/cli)" },
+ [ST_F_ALGO] = { .name = "algo", .desc = "Backend's load balancing algorithm, shown only if show-legends is set, or at levels oper/admin for the CLI" },
+ [ST_F_CONN_RATE] = { .name = "conn_rate", .desc = "Number of new connections accepted over the last second on the frontend for this worker process" },
+ [ST_F_CONN_RATE_MAX] = { .name = "conn_rate_max", .desc = "Highest value of 'conn_rate' observed since the worker process started" },
+ [ST_F_CONN_TOT] = { .name = "conn_tot", .desc = "Total number of new connections accepted on this frontend since the worker process started" },
+ [ST_F_INTERCEPTED] = { .name = "intercepted", .desc = "Total number of HTTP requests intercepted on the frontend (redirects/stats/services) since the worker process started" },
+ [ST_F_DCON] = { .name = "dcon", .desc = "Total number of incoming connections blocked on a listener/frontend by a tcp-request connection rule since the worker process started" },
+ [ST_F_DSES] = { .name = "dses", .desc = "Total number of incoming sessions blocked on a listener/frontend by a tcp-request connection rule since the worker process started" },
+ [ST_F_WREW] = { .name = "wrew", .desc = "Total number of failed HTTP header rewrites since the worker process started" },
+ [ST_F_CONNECT] = { .name = "connect", .desc = "Total number of outgoing connection attempts on this backend/server since the worker process started" },
+ [ST_F_REUSE] = { .name = "reuse", .desc = "Total number of reused connection on this backend/server since the worker process started" },
+ [ST_F_CACHE_LOOKUPS] = { .name = "cache_lookups", .desc = "Total number of HTTP requests looked up in the cache on this frontend/backend since the worker process started" },
+ [ST_F_CACHE_HITS] = { .name = "cache_hits", .desc = "Total number of HTTP requests not found in the cache on this frontend/backend since the worker process started" },
+ [ST_F_SRV_ICUR] = { .name = "srv_icur", .desc = "Current number of idle connections available for reuse on this server" },
+ [ST_F_SRV_ILIM] = { .name = "src_ilim", .desc = "Limit on the number of available idle connections on this server (server 'pool_max_conn' directive)" },
};
/* one line of info */