]> rtime.felk.cvut.cz Git - frescor/streamer.git/commitdiff
Print statistics about packet sizes
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 28 Nov 2009 17:08:38 +0000 (18:08 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 28 Nov 2009 17:08:38 +0000 (18:08 +0100)
streamer.c

index 635593f0aea8ed0fafab9b044611bd3e28291c73..72cfaeb9a0bbb2b653ac0bf2e67627d90b7f9554 100644 (file)
@@ -159,6 +159,8 @@ void* streamer_run(void* args)
   int frame = 0;
   int fps_avg = 0;
   struct timespec start, end, d;
+  static unsigned max_size = 0, min_size = -1;
+  static double avg_size = 0;
   clock_gettime(CLOCK_MONOTONIC, &start);
   done = 0;
   while (!(done = streamer_run_done_rq)) {
@@ -183,11 +185,17 @@ void* streamer_run(void* args)
          int fps_now = (1000<<8)/(d.tv_sec*1000+d.tv_nsec/1000000);
          start = end;
          fps_avg += (fps_now - fps_avg) >> 3;
-       
-         printf("%5d: %d fps  opkt size: %d\n",
+
+         if (opkt->size > max_size)
+                 max_size = opkt->size;
+         if (opkt->size < min_size)
+                 min_size = opkt->size;
+         avg_size = avg_size*frame/(frame+1) + (double)opkt->size/(frame+1);
+         printf("%5d: %2d fps  opkt size: %5d b  max=%5u b min=%5u b avg=%5.0f\n",
                 frame,
                 fps_avg>>8,
-                opkt->size);
+                opkt->size, max_size, min_size, avg_size);
+         if (frame % 100 == 0) max_size=0;
          frame++;// = (frame + 1) % fps;
         }
       }