summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apache2/mod_proxy_uwsgi.c2
-rw-r--r--core/logging.c151
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;