X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fhttp_command.c;h=f0768fb1b76fef775a1438133fe9fa4748f9a5a8;hb=4811426e29ae9c4ba92e881e858ccab7e71b9efa;hp=7c23404aac6f1ab81f1d4c2fa48ac3aae583b44e;hpb=7a8e8e37ed254a29f5085855e6d03fe4ff7573e9;p=pazpar2-moved-to-github.git diff --git a/src/http_command.c b/src/http_command.c index 7c23404..f0768fb 100644 --- a/src/http_command.c +++ b/src/http_command.c @@ -48,19 +48,28 @@ void print_meminfo(WRBUF wrbuf) { struct mallinfo minfo; minfo = mallinfo(); - wrbuf_printf(wrbuf, " \n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " %d\n" - " \n", - minfo.arena, minfo.uordblks, minfo.fordblks,minfo.ordblks, minfo.keepcost, minfo.hblks, minfo.hblkhd, minfo.arena + minfo.hblkhd, minfo.uordblks + minfo.hblkhd); - + wrbuf_printf(wrbuf, " \n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " %d\n" + " \n", + minfo.arena, + minfo.ordblks, + minfo.smblks, + minfo.hblks, + minfo.hblkhd, + minfo.usmblks, + minfo.fsmblks, + minfo.uordblks, + minfo.fordblks, + minfo.keepcost); } #else #define print_meminfo(x) @@ -126,7 +135,7 @@ http_sessions_t http_sessions_create(void) hs->session_list = 0; hs->mutex = 0; pazpar2_mutex_create(&hs->mutex, "http_sessions"); - hs->log_level = yaz_log_module_level("HTTP"); + hs->log_level = yaz_log_module_level("http"); return hs; } @@ -165,7 +174,7 @@ struct http_session *http_session_create(struct conf_service *service, char tmp_str[50]; sprintf(tmp_str, "session#%u", sesid); - r->psession = new_session(nmem, service, sesid); + r->psession = session_create(nmem, service, sesid); r->session_id = sesid; r->timestamp = 0; r->nmem = nmem; @@ -694,47 +703,6 @@ static void cmd_session_status(struct http_channel *c) release_session(c, s); } -#ifdef HAVE_RESULTSETS_COUNT -int resultsets_count(void); -#else -#define resultsets_count() 0 -#endif - -static void cmd_server_status(struct http_channel *c) -{ - int sessions = sessions_count(); - int clients = clients_count(); - int resultsets = resultsets_count(); - - response_open_ok(c, "server-status"); - wrbuf_printf(c->wrbuf, "\n %u\n", sessions); - wrbuf_printf(c->wrbuf, " %u\n", clients); - /* Only works if yaz has been compiled with enabling of this */ - wrbuf_printf(c->wrbuf, " %u\n",resultsets); - print_meminfo(c->wrbuf); - -/* TODO add all sessions status */ -/* http_sessions_t http_sessions = c->http_sessions; */ -/* struct http_session *p; */ -/* - yaz_mutex_enter(http_sessions->mutex); - for (p = http_sessions->session_list; p; p = p->next) - { - p->activity_counter++; - wrbuf_puts(c->wrbuf, "\n"); - wrbuf_printf(c->wrbuf, "%s\n", p->session_id); - yaz_mutex_leave(http_sessions->mutex); - session_status(c, p); - wrbuf_puts(c->wrbuf, "\n"); - yaz_mutex_enter(http_sessions->mutex); - p->activity_counter--; - } - yaz_mutex_leave(http_sessions->mutex); -*/ - response_close(c, "server-status"); - xmalloc_trav(0); -} - static void bytarget_response(struct http_channel *c, struct http_session *s, const char *cmd_status) { @@ -809,6 +777,15 @@ static void bytarget_response(struct http_channel *c, struct http_session *s, wrbuf_puts(c->wrbuf, ht[i].suggestions_xml); wrbuf_puts(c->wrbuf, ""); } + if (ht[i].query_data) + { + wrbuf_puts(c->wrbuf, ""); + wrbuf_xmlputs(c->wrbuf, ht[i].query_type); + wrbuf_puts(c->wrbuf, "\n"); + wrbuf_puts(c->wrbuf, ""); + wrbuf_xmlputs(c->wrbuf, ht[i].query_data); + wrbuf_puts(c->wrbuf, "\n"); + } wrbuf_puts(c->wrbuf, ""); } response_close(c, "bytarget"); @@ -1504,6 +1481,9 @@ static void cmd_info(struct http_channel *c) } } #endif + wrbuf_printf(c->wrbuf, " %d\n", sessions_count()); + wrbuf_printf(c->wrbuf, " %d\n", clients_count()); + print_meminfo(c->wrbuf); info_services(c->server, c->wrbuf); response_close(c, "info"); @@ -1522,7 +1502,6 @@ struct { { "termlist", cmd_termlist }, { "exit", cmd_exit }, { "session-status", cmd_session_status }, - { "server-status", cmd_server_status }, { "service", cmd_service }, { "ping", cmd_ping }, { "record", cmd_record },