mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-25 15:11:10 +00:00
MINOR: sample: add a new CFG_PARSER context for samples
We'd sometimes like to be able to process samples while parsing the configuration based on purely internal thing but that's not possible right now. Let's add a new CFG_PARSER context for samples which only permits constant samples (i.e. those which do not change in the process' life and which are stable during config parsing).
This commit is contained in:
parent
0209c97038
commit
f9a7a8fd8e
@ -95,6 +95,7 @@ enum {
|
||||
SMP_CKP_FE_HRS_BDY, /* FE HTTP response body */
|
||||
SMP_CKP_FE_LOG_END, /* FE log at the end of the txn/stream */
|
||||
SMP_CKP_BE_CHK_RUL, /* BE tcp-check rules */
|
||||
SMP_CKP_CFG_PARSER, /* config parser (i.e. before boot) */
|
||||
SMP_CKP_ENTRIES /* nothing after this */
|
||||
};
|
||||
|
||||
@ -162,6 +163,7 @@ enum {
|
||||
SMP_VAL_FE_HRS_BDY = 1 << SMP_CKP_FE_HRS_BDY, /* FE HTTP response body */
|
||||
SMP_VAL_FE_LOG_END = 1 << SMP_CKP_FE_LOG_END, /* FE log at the end of the txn/stream */
|
||||
SMP_VAL_BE_CHK_RUL = 1 << SMP_CKP_BE_CHK_RUL, /* BE tcp-check rule */
|
||||
SMP_VAL_CFG_PARSER = 1 << SMP_CKP_CFG_PARSER, /* within config parser */
|
||||
|
||||
/* a few combinations to decide what direction to try to fetch (useful for logs) */
|
||||
SMP_VAL_REQUEST = SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
|
46
src/sample.c
46
src/sample.c
@ -76,7 +76,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL_CFG_PARSER),
|
||||
|
||||
[SMP_SRC_INTRN] = (SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -84,7 +84,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_LISTN] = (SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -92,7 +92,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_FTEND] = (SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -100,7 +100,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L4CLI] = (SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -108,7 +108,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L5CLI] = (SMP_VAL___________ | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -116,7 +116,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_TRACK] = (SMP_VAL_FE_CON_ACC | SMP_VAL_FE_SES_ACC | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -124,7 +124,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L6REQ] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -132,7 +132,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________),
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRQHV] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -140,7 +140,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________),
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRQHP] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_FE_REQ_CNT |
|
||||
SMP_VAL_FE_HRQ_HDR | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -148,7 +148,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRQBO] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL_FE_HRQ_BDY | SMP_VAL_FE_SET_BCK |
|
||||
@ -156,7 +156,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________),
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_BKEND] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -164,7 +164,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL_BE_SET_SRV | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_SERVR] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -172,7 +172,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL_BE_SRV_CON | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L4SRV] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -180,7 +180,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L5SRV] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -188,7 +188,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_L6RES] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -196,7 +196,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRSHV] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -204,7 +204,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRSHP] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -212,7 +212,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL_BE_RES_CNT |
|
||||
SMP_VAL_BE_HRS_HDR | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_HRSBO] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -220,7 +220,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL_BE_HRS_BDY | SMP_VAL_BE_STO_RUL |
|
||||
SMP_VAL_FE_RES_CNT | SMP_VAL_FE_HRS_HDR | SMP_VAL_FE_HRS_BDY |
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL),
|
||||
SMP_VAL___________ | SMP_VAL_BE_CHK_RUL | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_RQFIN] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -228,7 +228,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_RSFIN] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -236,7 +236,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_TXFIN] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -244,7 +244,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
|
||||
[SMP_SRC_SSFIN] = (SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
@ -252,7 +252,7 @@ const unsigned int fetch_cap[SMP_SRC_ENTRIES] = {
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL___________ | SMP_VAL___________ | SMP_VAL___________ |
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________),
|
||||
SMP_VAL_FE_LOG_END | SMP_VAL___________ | SMP_VAL___________),
|
||||
};
|
||||
|
||||
static const char *fetch_src_names[SMP_SRC_ENTRIES] = {
|
||||
|
Loading…
Reference in New Issue
Block a user