diff options
-rw-r--r-- | apache2/mod_proxy_uwsgi.c | 2 | ||||
-rw-r--r-- | core/logging.c | 151 |
2 files changed, 141 insertions, 12 deletions
diff --git a/apache2/mod_proxy_uwsgi.c b/apache2/mod_proxy_uwsgi.c index 3cadd779..e0038619 100644 --- a/apache2/mod_proxy_uwsgi.c +++ b/apache2/mod_proxy_uwsgi.c @@ -186,7 +186,7 @@ static int uwsgi_send_headers(request_rec *r, proxy_conn_rec *conn) buf[0] = 0; buf[1] = (uint8_t) (pktsize & 0xff); buf[2] = (uint8_t) ((pktsize >> 8) & 0xff); - buf[0] = 0; + buf[3] = 0; return uwsgi_send(conn, buf, headerlen, r); } diff --git a/core/logging.c b/core/logging.c index 7785a3cd..c29f78b4 100644 --- a/core/logging.c +++ b/core/logging.c @@ -980,39 +980,39 @@ void uwsgi_build_log_format(char *format) { } -ssize_t uwsgi_lf_status(struct wsgi_request *wsgi_req, char **buf) { +static ssize_t uwsgi_lf_status(struct wsgi_request *wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->status); return strlen(*buf); } -ssize_t uwsgi_lf_rsize(struct wsgi_request *wsgi_req, char **buf) { +static ssize_t uwsgi_lf_rsize(struct wsgi_request *wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->response_size); return strlen(*buf); } -ssize_t uwsgi_lf_hsize(struct wsgi_request *wsgi_req, char **buf) { +static ssize_t uwsgi_lf_hsize(struct wsgi_request *wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->headers_size); return strlen(*buf); } -ssize_t uwsgi_lf_size(struct wsgi_request *wsgi_req, char **buf) { +static ssize_t uwsgi_lf_size(struct wsgi_request *wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->headers_size+wsgi_req->response_size); return strlen(*buf); } -ssize_t uwsgi_lf_cl(struct wsgi_request *wsgi_req, char **buf) { +static ssize_t uwsgi_lf_cl(struct wsgi_request *wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->post_cl); return strlen(*buf); } -ssize_t uwsgi_lf_epoch(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_epoch(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_num2str(uwsgi_now()); return strlen(*buf); } -ssize_t uwsgi_lf_ctime(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_ctime(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_malloc(26); #ifdef __sun__ ctime_r((const time_t *) &wsgi_req->start_of_request_in_sec, *buf, 26); @@ -1022,13 +1022,13 @@ ssize_t uwsgi_lf_ctime(struct wsgi_request * wsgi_req, char **buf) { return 24; } -ssize_t uwsgi_lf_time(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_time(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->start_of_request / 1000000); return strlen(*buf); } -ssize_t uwsgi_lf_ltime(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_ltime(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_malloc(64); time_t now = wsgi_req->start_of_request / 1000000; size_t ret = strftime(*buf, 64, "%d/%b/%Y:%H:%M:%S %z", localtime(&now)); @@ -1040,16 +1040,80 @@ ssize_t uwsgi_lf_ltime(struct wsgi_request * wsgi_req, char **buf) { } -ssize_t uwsgi_lf_micros(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_micros(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_num2str(wsgi_req->end_of_request - wsgi_req->start_of_request); return strlen(*buf); } -ssize_t uwsgi_lf_msecs(struct wsgi_request * wsgi_req, char **buf) { +static ssize_t uwsgi_lf_msecs(struct wsgi_request * wsgi_req, char **buf) { *buf = uwsgi_num2str((wsgi_req->end_of_request - wsgi_req->start_of_request) / 1000); return strlen(*buf); } +static ssize_t uwsgi_lf_pid(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.mypid); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_wid(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.mywid); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_switches(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->switches); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_vars(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->var_cnt); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_core(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->async_id); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_vsz(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.workers[uwsgi.mywid].vsz_size); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_rss(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.workers[uwsgi.mywid].rss_size); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_vszM(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.workers[uwsgi.mywid].vsz_size / 1024 / 1024); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_rssM(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(uwsgi.workers[uwsgi.mywid].rss_size / 1024 / 1024); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_pktsize(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->uh->pktsize); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_modifier1(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->uh->modifier1); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_modifier2(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->uh->modifier2); + return strlen(*buf); +} + +static ssize_t uwsgi_lf_headers(struct wsgi_request * wsgi_req, char **buf) { + *buf = uwsgi_num2str(wsgi_req->header_cnt); + return strlen(*buf); +} void uwsgi_add_logchunk(int variable, int pos, char *ptr, size_t len) { @@ -1171,6 +1235,71 @@ void uwsgi_add_logchunk(int variable, int pos, char *ptr, size_t len) { logchunk->func = uwsgi_lf_epoch; logchunk->free = 1; } + else if (!uwsgi_strncmp(ptr, len, "pid", 3)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_pid; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "wid", 3)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_wid; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "switches", 8)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_switches; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "vars", 4)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_vars; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "core", 4)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_core; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "vsz", 3)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_vsz; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "rss", 3)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_rss; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "vszM", 4)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_vszM; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "rssM", 4)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_rssM; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "pktsize", 7)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_pktsize; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "modifier1", 9)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_modifier1; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "modifier2", 9)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_modifier2; + logchunk->free = 1; + } + else if (!uwsgi_strncmp(ptr, len, "headers", 7)) { + logchunk->type = 3; + logchunk->func = uwsgi_lf_headers; + logchunk->free = 1; + } // logvar else { logchunk->type = 2; |