[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28889 - libmicrohttpd/src/examples
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28889 - libmicrohttpd/src/examples |
Date: |
Wed, 28 Aug 2013 17:11:56 +0200 |
Author: andreyu
Date: 2013-08-28 17:11:55 +0200 (Wed, 28 Aug 2013)
New Revision: 28889
Modified:
libmicrohttpd/src/examples/mhd2spdy.c
libmicrohttpd/src/examples/mhd2spdy_spdy.c
libmicrohttpd/src/examples/mhd2spdy_structures.c
libmicrohttpd/src/examples/mhd2spdy_structures.h
Log:
mhd2spdy: simple statistics (send/received bytes) added
Modified: libmicrohttpd/src/examples/mhd2spdy.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy.c 2013-08-28 15:09:20 UTC (rev
28888)
+++ libmicrohttpd/src/examples/mhd2spdy.c 2013-08-28 15:11:55 UTC (rev
28889)
@@ -45,6 +45,22 @@
}
+void
+print_stat()
+{
+ if(!glob_opt.statistics)
+ return;
+
+ printf("--------------------------\n");
+ printf("Statistics (TLS overhead is ignored when used):\n");
+ //printf("HTTP bytes received: %lld\n", glob_stat.http_bytes_received);
+ //printf("HTTP bytes sent: %lld\n", glob_stat.http_bytes_sent);
+ printf("SPDY bytes sent: %lld\n", glob_stat.spdy_bytes_sent);
+ printf("SPDY bytes received: %lld\n", glob_stat.spdy_bytes_received);
+ printf("SPDY bytes received and dropped: %lld\n",
glob_stat.spdy_bytes_received_and_dropped);
+}
+
+
int
run_everything ()
{
@@ -201,6 +217,8 @@
PRINT_INFO2("spdy streams: %i; http requests: %i", glob_opt.streams_opened,
glob_opt.responses_pending);
PRINT_INFO2("memory allocated %zu bytes", glob_opt.global_memory);
+
+ print_stat();
return 0;
}
@@ -210,7 +228,7 @@
display_usage()
{
printf(
- "Usage: http2spdy [-vo] [-b <SPDY2HTTP-PROXY>] -p <PORT>\n"
+ "Usage: mhd2spdy [-vos] [-b <SPDY2HTTP-PROXY>] -p <PORT>\n"
"TODO\n"
);
}
@@ -227,12 +245,13 @@
{"backend-proxy", required_argument, 0, 'b'},
{"verbose", no_argument, 0, 'v'},
{"only-proxy", no_argument, 0, 'o'},
+ {"statistics", no_argument, 0, 's'},
{0, 0, 0, 0}
};
while (1)
{
- getopt_ret = getopt_long( argc, argv, "p:b:vo", long_options,
&option_index);
+ getopt_ret = getopt_long( argc, argv, "p:b:vos", long_options,
&option_index);
if (getopt_ret == -1)
break;
@@ -256,6 +275,10 @@
glob_opt.only_proxy = true;
break;
+ case 's':
+ glob_opt.statistics = true;
+ break;
+
case 0:
PRINT_INFO("0 from getopt");
break;
Modified: libmicrohttpd/src/examples/mhd2spdy_spdy.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_spdy.c 2013-08-28 15:09:20 UTC (rev
28888)
+++ libmicrohttpd/src/examples/mhd2spdy_spdy.c 2013-08-28 15:11:55 UTC (rev
28889)
@@ -188,6 +188,9 @@
PRINT_INFO2("%zd bytes written by spdy", rv);
+ if(rv > 0)
+ UPDATE_STAT(glob_stat.spdy_bytes_sent, rv);
+
return rv;
}
@@ -257,6 +260,10 @@
else if(rv == 0)
rv = SPDYLAY_ERR_EOF;
}
+
+ if(rv > 0)
+ UPDATE_STAT(glob_stat.spdy_bytes_received, rv);
+
return rv;
}
Modified: libmicrohttpd/src/examples/mhd2spdy_structures.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_structures.c 2013-08-28 15:09:20 UTC
(rev 28888)
+++ libmicrohttpd/src/examples/mhd2spdy_structures.c 2013-08-28 15:11:55 UTC
(rev 28889)
@@ -118,6 +118,8 @@
free_proxy(struct Proxy *proxy)
{
PRINT_INFO2("free proxy called for '%s'", proxy->url);
+ if(NULL != proxy->http_body && proxy->http_body_size > 0)
+ UPDATE_STAT(glob_stat.spdy_bytes_received_and_dropped,
proxy->http_body_size);
free(proxy->http_body);
free_uri(proxy->uri);
free(proxy->url);
Modified: libmicrohttpd/src/examples/mhd2spdy_structures.h
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_structures.h 2013-08-28 15:09:20 UTC
(rev 28888)
+++ libmicrohttpd/src/examples/mhd2spdy_structures.h 2013-08-28 15:11:55 UTC
(rev 28889)
@@ -159,10 +159,22 @@
bool verbose;
bool only_proxy;
bool spdy_data_received;
+ bool statistics;
}
glob_opt;
+struct global_statistics
+{
+ //unsigned long long http_bytes_sent;
+ //unsigned long long http_bytes_received;
+ unsigned long long spdy_bytes_sent;
+ unsigned long long spdy_bytes_received;
+ unsigned long long spdy_bytes_received_and_dropped;
+}
+glob_stat;
+
+
//forbidden headers
#define SPDY_HTTP_HEADER_TRANSFER_ENCODING "transfer-encoding"
#define SPDY_HTTP_HEADER_PROXY_CONNECTION "proxy-connection"
@@ -241,6 +253,13 @@
while(0)
+#define UPDATE_STAT(stat, value) do{\
+ if(glob_opt.statistics)\
+ {\
+ stat += value;\
+ }\
+ }\
+ while(0)
void
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28889 - libmicrohttpd/src/examples,
gnunet <=