projects
/
pazpar2-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ee265ec
)
Time HTTP requests
author
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 28 May 2013 12:08:05 +0000
(14:08 +0200)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 28 May 2013 12:08:05 +0000
(14:08 +0200)
src/http.c
patch
|
blob
|
history
src/http.h
patch
|
blob
|
history
diff --git
a/src/http.c
b/src/http.c
index
8dc082d
..
2720c3c
100644
(file)
--- a/
src/http.c
+++ b/
src/http.c
@@
-839,6
+839,10
@@
void http_send_response(struct http_channel *ch)
struct http_response *rs = ch->response;
struct http_buf *hb;
struct http_response *rs = ch->response;
struct http_buf *hb;
+ yaz_timing_stop(ch->yt);
+ yaz_log(YLOG_LOG, "Response: %6.5f %3.2f %3.2f",
+ yaz_timing_get_real(ch->yt), yaz_timing_get_user(ch->yt),
+ yaz_timing_get_sys(ch->yt));
assert(rs);
hb = http_serialize_response(ch, rs);
if (!hb)
assert(rs);
hb = http_serialize_response(ch, rs);
if (!hb)
@@
-934,6
+938,7
@@
static void http_io(IOCHAN i, int event)
fflush(hc->http_server->record_file);
}
#endif
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");
if (!(hc->request = http_parse_request(hc, &hc->iqueue, reqlen)))
{
yaz_log(YLOG_WARN, "Failed to parse request");
@@
-1121,6
+1126,7
@@
static void http_channel_destroy(IOCHAN i)
http_buf_destroy_queue(s->http_server, s->proxy->oqueue);
xfree(s->proxy);
}
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);
http_buf_destroy_queue(s->http_server, s->iqueue);
http_buf_destroy_queue(s->http_server, s->oqueue);
http_fire_observers(s);
@@
-1168,6
+1174,7
@@
static struct http_channel *http_channel_create(http_server_t hs,
}
strcpy(r->addr, addr);
r->observers = 0;
}
strcpy(r->addr, addr);
r->observers = 0;
+ r->yt = yaz_timing_create();
return r;
}
return r;
}
diff --git
a/src/http.h
b/src/http.h
index
1b1ae10
..
15a5e51
100644
(file)
--- a/
src/http.h
+++ b/
src/http.h
@@
-21,6
+21,7
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define HTTP_H
#include <yaz/wrbuf.h>
#define HTTP_H
#include <yaz/wrbuf.h>
+#include <yaz/timing.h>
#include "eventl.h"
// Generic I/O buffer
#include "eventl.h"
// Generic I/O buffer
@@
-45,6
+46,7
@@
struct http_channel
int keep_alive;
NMEM nmem;
WRBUF wrbuf;
int keep_alive;
NMEM nmem;
WRBUF wrbuf;
+ yaz_timing_t yt;
struct http_request *request;
struct http_response *response;
struct http_channel *next; // for freelist
struct http_request *request;
struct http_response *response;
struct http_channel *next; // for freelist