added exceptions counter

This commit is contained in:
roberto@sirius
2011-01-14 14:49:45 +01:00
parent 170c66b000
commit 520ff8465b
6 changed files with 14 additions and 3 deletions
-3
View File
@@ -378,12 +378,9 @@ PyObject *uwsgi_uwsgi_loader(void *arg1) {
if (applications && PyDict_Check(applications)) return applications;
uwsgi_log("QUICK CALLABLE = %s\n", quick_callable);
applications = PyDict_GetItemString(wsgi_dict, "applications");
if (applications && PyDict_Check(applications)) return applications;
uwsgi_log("QUICK CALLABLE = %s\n", quick_callable);
// quick callable -> thanks gunicorn for the idea
// we have extended the concept a bit...
if (quick_callable[strlen(quick_callable) -2 ] == '(' && quick_callable[strlen(quick_callable) -1] ==')') {
+1
View File
@@ -19,6 +19,7 @@ PyObject *python_call(PyObject *callable, PyObject *args, int catch) {
if (PyErr_ExceptionMatches(PyExc_MemoryError)) {
uwsgi_log("Memory Error detected !!!\n");
}
uwsgi.workers[uwsgi.mywid].exceptions++;
if (!catch) {
PyErr_Print();
}
+6
View File
@@ -1722,6 +1722,12 @@ clear:
}
Py_DECREF(zero);
zero = PyInt_FromLong(uwsgi.workers[i + 1].exceptions);
if (PyDict_SetItemString(worker_dict, "exceptions", zero)) {
goto clear;
}
Py_DECREF(zero);
zero = PyInt_FromLong(uwsgi.workers[i + 1].rss_size);
if (PyDict_SetItemString(worker_dict, "rss", zero)) {
goto clear;
+1
View File
@@ -169,6 +169,7 @@ int uwsgi_response_subhandler_wsgi(struct wsgi_request *wsgi_req) {
if (PyErr_ExceptionMatches(PyExc_MemoryError)) {
uwsgi_log("Memory Error detected !!!\n");
}
uwsgi.workers[uwsgi.mywid].exceptions++;
PyErr_Print();
}
goto clear;
+4
View File
@@ -589,6 +589,7 @@ struct wsgi_request {
int log_this;
};
struct uwsgi_fmon {
@@ -883,6 +884,7 @@ struct uwsgi_server {
void *timer_table_lock;
void *rpc_table_lock;
};
struct uwsgi_rpc {
@@ -1045,6 +1047,8 @@ struct uwsgi_worker {
int manage_next_request;
uint64_t exceptions;
};
+2
View File
@@ -247,6 +247,7 @@ $(document).ready(function() {
<th>#</th>
<th>pid</th>
<th>requests</th>
<th>exceptions</th>
<th># respawn</th>
</tr>
{% for w in uwsgi.workers() %}
@@ -254,6 +255,7 @@ $(document).ready(function() {
<td>{{w.id}}</td>
<td>{{w.pid}}</td>
<td>{{w.requests}}</td>
<td>{{w.exceptions}}</td>
<td>{{w.respawn_count}}</td>
</tr>
{% endfor %}