Happy new year
[pazpar2-moved-to-github.git] / src / http.c
index 8dc082d..149fdd0 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Pazpar2.
-   Copyright (C) 2006-2013 Index Data
+   Copyright (C) Index Data
 
 Pazpar2 is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -839,6 +839,14 @@ void http_send_response(struct http_channel *ch)
     struct http_response *rs = ch->response;
     struct http_buf *hb;
 
+    yaz_timing_stop(ch->yt);
+    yaz_log(YLOG_LOG, "Response: %6.5f %d %s%s%s ",
+            yaz_timing_get_real(ch->yt),
+            iochan_getfd(ch->iochan),
+            ch->request->path,
+            *ch->request->search ? "?" : "",
+            ch->request->search);
+
     assert(rs);
     hb = http_serialize_response(ch, rs);
     if (!hb)
@@ -934,6 +942,7 @@ static void http_io(IOCHAN i, int event)
                     fflush(hc->http_server->record_file);
                 }
  #endif
+                yaz_timing_start(hc->yt);
                 if (!(hc->request = http_parse_request(hc, &hc->iqueue, reqlen)))
                 {
                     yaz_log(YLOG_WARN, "Failed to parse request");
@@ -941,7 +950,9 @@ static void http_io(IOCHAN i, int event)
                     return;
                 }
                 hc->response = 0;
-                yaz_log(YLOG_LOG, "Request: %s %s%s%s", hc->request->method,
+                yaz_log(YLOG_LOG, "Request: - %d %s %s%s%s",
+                        iochan_getfd(i),
+                        hc->request->method,
                         hc->request->path,
                         *hc->request->search ? "?" : "",
                         hc->request->search);
@@ -1121,6 +1132,7 @@ static void http_channel_destroy(IOCHAN i)
         http_buf_destroy_queue(s->http_server, s->proxy->oqueue);
         xfree(s->proxy);
     }
+    yaz_timing_destroy(&s->yt);
     http_buf_destroy_queue(s->http_server, s->iqueue);
     http_buf_destroy_queue(s->http_server, s->oqueue);
     http_fire_observers(s);
@@ -1168,6 +1180,7 @@ static struct http_channel *http_channel_create(http_server_t hs,
     }
     strcpy(r->addr, addr);
     r->observers = 0;
+    r->yt = yaz_timing_create();
     return r;
 }