mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-05-03 08:17:59 +00:00
MINOR: dumpstats: extract stats fields enum and names
These field names can be used outside of the dumpstats file. This will be useful for exporting stats in Lua.
This commit is contained in:
parent
f4011ddcf5
commit
31e64ca301
@ -55,6 +55,160 @@ enum {
|
||||
#define STAT_SCOPE_INPUT_NAME "scope" /* pattern form scope name <input> in html form */
|
||||
#define STAT_SCOPE_PATTERN "?" STAT_SCOPE_INPUT_NAME "="
|
||||
|
||||
/* Show Info fields for CLI output. For any field added here, please add the text
|
||||
* representation in the info_field_names array below. Please only append at the end,
|
||||
* before the INF_TOTAL_FIELDS entry, and never insert anything in the middle
|
||||
* nor at the beginning.
|
||||
*/
|
||||
enum info_field {
|
||||
INF_NAME,
|
||||
INF_VERSION,
|
||||
INF_RELEASE_DATE,
|
||||
INF_NBPROC,
|
||||
INF_PROCESS_NUM,
|
||||
INF_PID,
|
||||
INF_UPTIME,
|
||||
INF_UPTIME_SEC,
|
||||
INF_MEMMAX_MB,
|
||||
INF_POOL_ALLOC_MB,
|
||||
INF_POOL_USED_MB,
|
||||
INF_POOL_FAILED,
|
||||
INF_ULIMIT_N,
|
||||
INF_MAXSOCK,
|
||||
INF_MAXCONN,
|
||||
INF_HARD_MAXCONN,
|
||||
INF_CURR_CONN,
|
||||
INF_CUM_CONN,
|
||||
INF_CUM_REQ,
|
||||
INF_MAX_SSL_CONNS,
|
||||
INF_CURR_SSL_CONNS,
|
||||
INF_CUM_SSL_CONNS,
|
||||
INF_MAXPIPES,
|
||||
INF_PIPES_USED,
|
||||
INF_PIPES_FREE,
|
||||
INF_CONN_RATE,
|
||||
INF_CONN_RATE_LIMIT,
|
||||
INF_MAX_CONN_RATE,
|
||||
INF_SESS_RATE,
|
||||
INF_SESS_RATE_LIMIT,
|
||||
INF_MAX_SESS_RATE,
|
||||
INF_SSL_RATE,
|
||||
INF_SSL_RATE_LIMIT,
|
||||
INF_MAX_SSL_RATE,
|
||||
INF_SSL_FRONTEND_KEY_RATE,
|
||||
INF_SSL_FRONTEND_MAX_KEY_RATE,
|
||||
INF_SSL_FRONTEND_SESSION_REUSE_PCT,
|
||||
INF_SSL_BACKEND_KEY_RATE,
|
||||
INF_SSL_BACKEND_MAX_KEY_RATE,
|
||||
INF_SSL_CACHE_LOOKUPS,
|
||||
INF_SSL_CACHE_MISSES,
|
||||
INF_COMPRESS_BPS_IN,
|
||||
INF_COMPRESS_BPS_OUT,
|
||||
INF_COMPRESS_BPS_RATE_LIM,
|
||||
INF_ZLIB_MEM_USAGE,
|
||||
INF_MAX_ZLIB_MEM_USAGE,
|
||||
INF_TASKS,
|
||||
INF_RUN_QUEUE,
|
||||
INF_IDLE_PCT,
|
||||
INF_NODE,
|
||||
INF_DESCRIPTION,
|
||||
|
||||
/* must always be the last one */
|
||||
INF_TOTAL_FIELDS
|
||||
};
|
||||
|
||||
/* Stats fields for CSV output. For any field added here, please add the text
|
||||
* representation in the stat_field_names array below. Please only append at the end,
|
||||
* before the ST_F_TOTAL_FIELDS entry, and never insert anything in the middle
|
||||
* nor at the beginning.
|
||||
*/
|
||||
enum stat_field {
|
||||
ST_F_PXNAME,
|
||||
ST_F_SVNAME,
|
||||
ST_F_QCUR,
|
||||
ST_F_QMAX,
|
||||
ST_F_SCUR,
|
||||
ST_F_SMAX,
|
||||
ST_F_SLIM,
|
||||
ST_F_STOT,
|
||||
ST_F_BIN ,
|
||||
ST_F_BOUT,
|
||||
ST_F_DREQ,
|
||||
ST_F_DRESP,
|
||||
ST_F_EREQ,
|
||||
ST_F_ECON,
|
||||
ST_F_ERESP,
|
||||
ST_F_WRETR,
|
||||
ST_F_WREDIS,
|
||||
ST_F_STATUS,
|
||||
ST_F_WEIGHT,
|
||||
ST_F_ACT,
|
||||
ST_F_BCK,
|
||||
ST_F_CHKFAIL,
|
||||
ST_F_CHKDOWN,
|
||||
ST_F_LASTCHG,
|
||||
ST_F_DOWNTIME,
|
||||
ST_F_QLIMIT,
|
||||
ST_F_PID,
|
||||
ST_F_IID,
|
||||
ST_F_SID,
|
||||
ST_F_THROTTLE,
|
||||
ST_F_LBTOT,
|
||||
ST_F_TRACKED,
|
||||
ST_F_TYPE,
|
||||
ST_F_RATE,
|
||||
ST_F_RATE_LIM,
|
||||
ST_F_RATE_MAX,
|
||||
ST_F_CHECK_STATUS,
|
||||
ST_F_CHECK_CODE,
|
||||
ST_F_CHECK_DURATION,
|
||||
ST_F_HRSP_1XX,
|
||||
ST_F_HRSP_2XX,
|
||||
ST_F_HRSP_3XX,
|
||||
ST_F_HRSP_4XX,
|
||||
ST_F_HRSP_5XX,
|
||||
ST_F_HRSP_OTHER,
|
||||
ST_F_HANAFAIL,
|
||||
ST_F_REQ_RATE,
|
||||
ST_F_REQ_RATE_MAX,
|
||||
ST_F_REQ_TOT,
|
||||
ST_F_CLI_ABRT,
|
||||
ST_F_SRV_ABRT,
|
||||
ST_F_COMP_IN,
|
||||
ST_F_COMP_OUT,
|
||||
ST_F_COMP_BYP,
|
||||
ST_F_COMP_RSP,
|
||||
ST_F_LASTSESS,
|
||||
ST_F_LAST_CHK,
|
||||
ST_F_LAST_AGT,
|
||||
ST_F_QTIME,
|
||||
ST_F_CTIME,
|
||||
ST_F_RTIME,
|
||||
ST_F_TTIME,
|
||||
ST_F_AGENT_STATUS,
|
||||
ST_F_AGENT_CODE,
|
||||
ST_F_AGENT_DURATION,
|
||||
ST_F_CHECK_DESC,
|
||||
ST_F_AGENT_DESC,
|
||||
ST_F_CHECK_RISE,
|
||||
ST_F_CHECK_FALL,
|
||||
ST_F_CHECK_HEALTH,
|
||||
ST_F_AGENT_RISE,
|
||||
ST_F_AGENT_FALL,
|
||||
ST_F_AGENT_HEALTH,
|
||||
ST_F_ADDR,
|
||||
ST_F_COOKIE,
|
||||
ST_F_MODE,
|
||||
ST_F_ALGO,
|
||||
ST_F_CONN_RATE,
|
||||
ST_F_CONN_RATE_MAX,
|
||||
ST_F_CONN_TOT,
|
||||
ST_F_INTERCEPTED,
|
||||
|
||||
/* must always be the last one */
|
||||
ST_F_TOTAL_FIELDS
|
||||
};
|
||||
|
||||
/* This level of detail is needed to let the stats consumer know how to
|
||||
* aggregate them (eg: between processes or cluster nodes). Only a few
|
||||
* combinations are actually in use, though the mechanism tends to make
|
||||
@ -230,6 +384,13 @@ static inline struct field mkf_str(uint32_t type, const char *value)
|
||||
return f;
|
||||
}
|
||||
|
||||
/* These two structs contains all field names according with
|
||||
* the the number of entries in "enum stat_field" and
|
||||
* "enum info_field"
|
||||
*/
|
||||
extern const char *info_field_names[];
|
||||
extern const char *stat_field_names[];
|
||||
|
||||
extern struct applet http_stats_applet;
|
||||
|
||||
void stats_io_handler(struct stream_interface *si);
|
||||
|
154
src/dumpstats.c
154
src/dumpstats.c
@ -131,68 +131,6 @@ enum {
|
||||
};
|
||||
|
||||
|
||||
/* Show Info fields for CLI output. For any field added here, please add the text
|
||||
* representation in the info_field_names array below. Please only append at the end,
|
||||
* before the INF_TOTAL_FIELDS entry, and never insert anything in the middle
|
||||
* nor at the beginning.
|
||||
*/
|
||||
enum info_field {
|
||||
INF_NAME,
|
||||
INF_VERSION,
|
||||
INF_RELEASE_DATE,
|
||||
INF_NBPROC,
|
||||
INF_PROCESS_NUM,
|
||||
INF_PID,
|
||||
INF_UPTIME,
|
||||
INF_UPTIME_SEC,
|
||||
INF_MEMMAX_MB,
|
||||
INF_POOL_ALLOC_MB,
|
||||
INF_POOL_USED_MB,
|
||||
INF_POOL_FAILED,
|
||||
INF_ULIMIT_N,
|
||||
INF_MAXSOCK,
|
||||
INF_MAXCONN,
|
||||
INF_HARD_MAXCONN,
|
||||
INF_CURR_CONN,
|
||||
INF_CUM_CONN,
|
||||
INF_CUM_REQ,
|
||||
INF_MAX_SSL_CONNS,
|
||||
INF_CURR_SSL_CONNS,
|
||||
INF_CUM_SSL_CONNS,
|
||||
INF_MAXPIPES,
|
||||
INF_PIPES_USED,
|
||||
INF_PIPES_FREE,
|
||||
INF_CONN_RATE,
|
||||
INF_CONN_RATE_LIMIT,
|
||||
INF_MAX_CONN_RATE,
|
||||
INF_SESS_RATE,
|
||||
INF_SESS_RATE_LIMIT,
|
||||
INF_MAX_SESS_RATE,
|
||||
INF_SSL_RATE,
|
||||
INF_SSL_RATE_LIMIT,
|
||||
INF_MAX_SSL_RATE,
|
||||
INF_SSL_FRONTEND_KEY_RATE,
|
||||
INF_SSL_FRONTEND_MAX_KEY_RATE,
|
||||
INF_SSL_FRONTEND_SESSION_REUSE_PCT,
|
||||
INF_SSL_BACKEND_KEY_RATE,
|
||||
INF_SSL_BACKEND_MAX_KEY_RATE,
|
||||
INF_SSL_CACHE_LOOKUPS,
|
||||
INF_SSL_CACHE_MISSES,
|
||||
INF_COMPRESS_BPS_IN,
|
||||
INF_COMPRESS_BPS_OUT,
|
||||
INF_COMPRESS_BPS_RATE_LIM,
|
||||
INF_ZLIB_MEM_USAGE,
|
||||
INF_MAX_ZLIB_MEM_USAGE,
|
||||
INF_TASKS,
|
||||
INF_RUN_QUEUE,
|
||||
INF_IDLE_PCT,
|
||||
INF_NODE,
|
||||
INF_DESCRIPTION,
|
||||
|
||||
/* must always be the last one */
|
||||
INF_TOTAL_FIELDS
|
||||
};
|
||||
|
||||
/* These are the field names for each INF_* field position. Please pay attention
|
||||
* to always use the exact same name except that the strings for new names must
|
||||
* be lower case or CamelCase while the enum entries must be upper case.
|
||||
@ -254,98 +192,6 @@ const char *info_field_names[INF_TOTAL_FIELDS] = {
|
||||
/* one line of stats */
|
||||
static struct field info[INF_TOTAL_FIELDS];
|
||||
|
||||
/* Stats fields for CSV output. For any field added here, please add the text
|
||||
* representation in the stat_field_names array below. Please only append at the end,
|
||||
* before the ST_F_TOTAL_FIELDS entry, and never insert anything in the middle
|
||||
* nor at the beginning.
|
||||
*/
|
||||
enum stat_field {
|
||||
ST_F_PXNAME,
|
||||
ST_F_SVNAME,
|
||||
ST_F_QCUR,
|
||||
ST_F_QMAX,
|
||||
ST_F_SCUR,
|
||||
ST_F_SMAX,
|
||||
ST_F_SLIM,
|
||||
ST_F_STOT,
|
||||
ST_F_BIN ,
|
||||
ST_F_BOUT,
|
||||
ST_F_DREQ,
|
||||
ST_F_DRESP,
|
||||
ST_F_EREQ,
|
||||
ST_F_ECON,
|
||||
ST_F_ERESP,
|
||||
ST_F_WRETR,
|
||||
ST_F_WREDIS,
|
||||
ST_F_STATUS,
|
||||
ST_F_WEIGHT,
|
||||
ST_F_ACT,
|
||||
ST_F_BCK,
|
||||
ST_F_CHKFAIL,
|
||||
ST_F_CHKDOWN,
|
||||
ST_F_LASTCHG,
|
||||
ST_F_DOWNTIME,
|
||||
ST_F_QLIMIT,
|
||||
ST_F_PID,
|
||||
ST_F_IID,
|
||||
ST_F_SID,
|
||||
ST_F_THROTTLE,
|
||||
ST_F_LBTOT,
|
||||
ST_F_TRACKED,
|
||||
ST_F_TYPE,
|
||||
ST_F_RATE,
|
||||
ST_F_RATE_LIM,
|
||||
ST_F_RATE_MAX,
|
||||
ST_F_CHECK_STATUS,
|
||||
ST_F_CHECK_CODE,
|
||||
ST_F_CHECK_DURATION,
|
||||
ST_F_HRSP_1XX,
|
||||
ST_F_HRSP_2XX,
|
||||
ST_F_HRSP_3XX,
|
||||
ST_F_HRSP_4XX,
|
||||
ST_F_HRSP_5XX,
|
||||
ST_F_HRSP_OTHER,
|
||||
ST_F_HANAFAIL,
|
||||
ST_F_REQ_RATE,
|
||||
ST_F_REQ_RATE_MAX,
|
||||
ST_F_REQ_TOT,
|
||||
ST_F_CLI_ABRT,
|
||||
ST_F_SRV_ABRT,
|
||||
ST_F_COMP_IN,
|
||||
ST_F_COMP_OUT,
|
||||
ST_F_COMP_BYP,
|
||||
ST_F_COMP_RSP,
|
||||
ST_F_LASTSESS,
|
||||
ST_F_LAST_CHK,
|
||||
ST_F_LAST_AGT,
|
||||
ST_F_QTIME,
|
||||
ST_F_CTIME,
|
||||
ST_F_RTIME,
|
||||
ST_F_TTIME,
|
||||
ST_F_AGENT_STATUS,
|
||||
ST_F_AGENT_CODE,
|
||||
ST_F_AGENT_DURATION,
|
||||
ST_F_CHECK_DESC,
|
||||
ST_F_AGENT_DESC,
|
||||
ST_F_CHECK_RISE,
|
||||
ST_F_CHECK_FALL,
|
||||
ST_F_CHECK_HEALTH,
|
||||
ST_F_AGENT_RISE,
|
||||
ST_F_AGENT_FALL,
|
||||
ST_F_AGENT_HEALTH,
|
||||
ST_F_ADDR,
|
||||
ST_F_COOKIE,
|
||||
ST_F_MODE,
|
||||
ST_F_ALGO,
|
||||
ST_F_CONN_RATE,
|
||||
ST_F_CONN_RATE_MAX,
|
||||
ST_F_CONN_TOT,
|
||||
ST_F_INTERCEPTED,
|
||||
|
||||
/* must always be the last one */
|
||||
ST_F_TOTAL_FIELDS
|
||||
};
|
||||
|
||||
/* These are the field names for each ST_F_* field position. Please pay attention
|
||||
* to always use the exact same name except that the strings must be lower case
|
||||
* while the enum entries must be upper case.
|
||||
|
Loading…
Reference in New Issue
Block a user