Commit 172f46c9 authored by Geoff Simmons's avatar Geoff Simmons

test and debug FMT_Estimate_RecsPerTx()

parent 6d68ffef
......@@ -122,6 +122,7 @@ CONF_Add(const char *lval, const char *rval)
confUnsigned("max.headers", max_headers);
confUnsigned("max.vcl_log", max_vcl_log);
confUnsigned("max.vcl_call", max_vcl_call);
confUnsigned("max.timestamp", max_vcl_call);
confUnsigned("max.fd", max_fd);
confUnsigned("max.data", max_data);
confUnsigned("monitor.interval", monitor_interval);
......@@ -212,8 +213,9 @@ CONF_Init(void)
config.max_reclen = DEFAULT_MAX_RECLEN;
config.max_headers = DEFAULT_MAX_HEADERS;
config.max_vcl_log = DEFAULT_MAX_HEADERS;
config.max_vcl_call = DEFAULT_MAX_HEADERS;
config.max_vcl_log = DEFAULT_MAX_VCL_LOG;
config.max_vcl_call = DEFAULT_MAX_VCL_CALL;
config.max_timestamp = DEFAULT_MAX_TIMESTAMP;
config.max_fd = DEFAULT_MAX_FD;
config.max_data = DEFAULT_MAX_DATA;
config.chunk_size = DEFAULT_CHUNK_SIZE;
......@@ -313,6 +315,7 @@ CONF_Dump(void)
confdump("max.headers = %u", config.max_headers);
confdump("max.vcl_log = %u", config.max_vcl_log);
confdump("max.vcl_call = %u", config.max_vcl_call);
confdump("max.timestamp = %u", config.max_timestamp);
confdump("max.fd = %u", config.max_fd);
confdump("max.data = %u", config.max_data);
confdump("housekeep.interval = %u", config.housekeep_interval);
......
......@@ -1119,6 +1119,9 @@ FMT_Estimate_RecsPerTx(void)
case SLT_VCL_return:
recs_per_ctx += config.max_vcl_call;
break;
case SLT_VCL_Log:
recs_per_ctx += config.max_vcl_log;
break;
case SLT_Timestamp:
recs_per_ctx += config.max_timestamp;
break;
......@@ -1137,11 +1140,14 @@ FMT_Estimate_RecsPerTx(void)
case SLT_BerespHeader:
recs_per_btx += config.max_headers;
break;
case SLT_VCL_Log:
recs_per_btx += config.max_vcl_log;
break;
case SLT_Timestamp:
recs_per_ctx += config.max_timestamp;
recs_per_btx += config.max_timestamp;
break;
default:
recs_per_ctx++;
recs_per_btx++;
}
}
}
......
......@@ -1285,11 +1285,11 @@ static const char
}
static const char
*test_FMT_Format_i_Arg(void)
*test_FMT_interface(void)
{
#define NRECS 20
char err[BUFSIZ], *i_arg, strftime_s[BUFSIZ];
int status;
int status, recs_per_tx;
tx_t tx;
logline_t *recs[NRECS];
chunk_t *c[NRECS];
......@@ -1297,7 +1297,8 @@ static const char
struct tm *tm;
time_t t = 1427743146;
printf("... testing FMT_Format() and FMT_Get_i_Arg()\n");
printf("... testing FMT_Format(), FMT_Get_i_Arg() and "\
"FMT_Estimate_RecsPerTx()\n");
status = FMT_Init(err);
VMASSERT(status == 0, "FMT_Init: %s", err);
......@@ -1322,6 +1323,9 @@ static const char
VMASSERT(strcmp(i_arg, DEFAULT_I_ARG) == 0, "'%s' != '%s'", i_arg,
DEFAULT_I_ARG);
recs_per_tx = FMT_Estimate_RecsPerTx();
MASSERT(recs_per_tx == 78);
tx.type = VSL_t_req;
add_record_data(&tx, recs[0], c[0], T1, SLT_Timestamp);
add_record_data(&tx, recs[1], c[1], REQSTART_PAYLOAD, SLT_ReqStart);
......@@ -1366,6 +1370,9 @@ static const char
VMASSERT(strcmp(i_arg, FULL_CLIENT_I_ARG) == 0, "'%s' != '%s'", i_arg,
FULL_CLIENT_I_ARG);
recs_per_tx = FMT_Estimate_RecsPerTx();
MASSERT(recs_per_tx == 175);
set_record_data(recs[3], c[3], URL_QUERY_PAYLOAD, SLT_ReqURL);
set_record_data(recs[6], c[6], "Host: foobar.com", SLT_ReqHeader);
set_record_data(recs[7], c[7], "Foo: foohdr", SLT_ReqHeader);
......@@ -1410,6 +1417,9 @@ static const char
VMASSERT(strcmp(i_arg, FULL_BACKEND_I_ARG) == 0, "'%s' != '%s'", i_arg,
FULL_BACKEND_I_ARG);
recs_per_tx = FMT_Estimate_RecsPerTx();
MASSERT(recs_per_tx == 154);
tx.type = VSL_t_bereq;
set_record_data(recs[1], c[1], BACKEND_PAYLOAD, SLT_Backend);
recs[2]->tag = SLT_BereqMethod;
......@@ -1441,7 +1451,7 @@ static const char
VMASSERT(strcmp(VSB_data(os), strftime_s) == 0, "'%s' != '%s'",
VSB_data(os), strftime_s);
/* Backend format with all formatters */
/* Raw format */
FMT_Fini();
VSB_clear(os);
......@@ -1456,6 +1466,9 @@ static const char
VMASSERT(strcmp(i_arg, FULL_RAW_I_ARG) == 0, "'%s' != '%s'", i_arg,
FULL_RAW_I_ARG);
recs_per_tx = FMT_Estimate_RecsPerTx();
MASSERT(recs_per_tx == 1);
tx.type = VSL_t_raw;
tx.t = 1427743146.529143;
#define HEALTH_PAYLOAD "b Still healthy 4--X-RH 5 4 5 0.032728 0.035774 "\
......@@ -1538,7 +1551,7 @@ static const char
mu_run_test(test_format_VCL_Log);
mu_run_test(test_format_SLT);
mu_run_test(test_FMT_Fini);
mu_run_test(test_FMT_Format_i_Arg);
mu_run_test(test_FMT_interface);
return NULL;
}
......
......@@ -49,6 +49,10 @@
#define DEFAULT_MAX_RECLEN 255 /* shm_reclen */
#define DEFAULT_MAX_HEADERS 64 /* http_max_hdr */
#define DEFAULT_MAX_VCL_CALL 10
#define DEFAULT_MAX_VCL_LOG 10
#define DEFAULT_MAX_TIMESTAMP 8
#define DEFAULT_CHUNK_SIZE 64
#define DEFAULT_MAX_FD 1024
#define DEFAULT_MAX_DATA 4096
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment