gnunet-svn
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]