Exemplo n.º 1
0
Arquivo: speed.c Projeto: nesl/natcar
void processcamera()
{  //keypad= getchar1();
 
          


		int ysize=0;
		int y=0;
		int xmean=0;
		int xmin=0;
		int xmax=0;
		int xcnt=0;
		int xconf=0;
		int i = 0;
			
		//Find packet start
		while(getchar1()!=0xFE && i < 25) //Wait for packet start
		{
			//count how many times we loop, time out and reinit if need be
			i++;
		} 
		
  		if(i >= 25)
  		{
  		g_speed = 3;
  		initcamera();
  		return;
  		}
		ysize = getchar1();
		
		//For each line
		for(y=0; y<ysize; y++)
		{
			xmean = getchar1();
			xmin  = getchar1();
			xmax  = getchar1();
			xcnt  = getchar1();
			xconf = getchar1();

			if(xconf > THRESHOLD)
				xmeans[y] = xmean; //change from mean to center if needed
			else
				xmeans[y]=255;     
		     	for(i=0; i<XRES; i++)
			{
				char printchar = ' ';
				if(i>=xmin&&i<=xmax)
					printchar = 'X';
				if(i==xmean)
					printchar = '|';
				if(xconf < THRESHOLD)
					printchar = ' ';
				printf("%c",printchar);
			}
		printf("\r");   
		}
		calcstats(ysize);
}  
Exemplo n.º 2
0
static void
dump (void)
{
  Time conn_period = 0.0, call_period = 0.0;
  Time call_size = 0.0, hdr_size = 0.0, reply_size = 0.0, footer_size = 0.0;
  double reply_rate_avg = 0.0, reply_rate_stddev = 0.0;
  int i, total_replies = 0;
  Time delta, user, sys;
  u_wide total_size;

  calcstats(&es_lifetime);
  calcstats(&es_connect);
  calcstats(&es_response);
  calcstats(&es_transfer);

  for (i = 1; i < NELEMS (basic.num_replies); ++i)
    total_replies += basic.num_replies[i];

  delta = test_time_stop - test_time_start;


  if (percentiles) {
    printf("\nPercentiles [ms] - lifetime  connect  response  transfer:\n");
    for (i=1;i<=100;i++)
      printf("%6d%% %6.0f %6.0f %6.0f %6.0f\n",
             i,
	     1e3 * es_lifetime.perc[i],
             1e3 * es_connect.perc[i],
             1e3 * es_response.perc[i],
             1e3 * es_transfer.perc[i]);
  }
       
  /* One line summary output with --summary */
  if (summary) {
    printf ("%8.1f ", 1e3 * es_connect.avg);
    if (es_response.num != es_connect.num) 
      printf("******");
    else 
      printf ("%6.1f ", 1e3 * es_response.avg);
    if (total_replies != es_connect.num)
      printf("******");
    else 
      printf ("%6.1f ", 1e3 * es_transfer.avg);
    if (es_lifetime.num != es_connect.num)
      printf("******");
    else 
      printf ("%6.1f ", 1e3 * es_lifetime.avg);
    if (total_replies != es_connect.num)
      printf("   * * *   * * * * *"); 
    else {
      hdr_size = basic.hdr_bytes_received / total_replies;
      reply_size = basic.reply_bytes_received / total_replies;
      footer_size = basic.footer_bytes_received / total_replies;
      printf ("   %d %d %d",(int) hdr_size, (int) reply_size, (int) footer_size);
      printf ("   %d %d %d %d %d",
	      basic.num_replies[1], 
	      basic.num_replies[2], 
	      basic.num_replies[3],
	      basic.num_replies[4], 
	      basic.num_replies[5]);
    }
    printf("\n");
    return;
  }

  if (verbose > 1)
    {
      printf ("\nHistogram - connection lifetime (ms):\n");
      hist_print(es_lifetime.hist);
      printf ("\nHistogram - connect time (ms):\n");
      hist_print(es_connect.hist);
      printf ("\nHistogram - response time (ms):\n");
      hist_print(es_response.hist);
      printf ("\nHistogram - transfer time (ms):\n");
      hist_print(es_transfer.hist);
    }

  printf ("\nTotal: connections %u requests %u replies %u "
	  "test-duration %.3f s\n",
	  basic.num_conns_issued, basic.num_sent, total_replies,
	  delta);

  putchar ('\n');

  if (basic.num_conns_issued)
    conn_period = delta/basic.num_conns_issued;
  printf ("Connection rate: %.1f conn/s (%.1f ms/conn, "
	  "<=%u concurrent connections)\n",
	  basic.num_conns_issued / delta, 1e3*conn_period, basic.max_conns);

  printf ("Connection length [replies/conn]: %.3f\n",
	  es_lifetime.num > 0
	  ? total_replies/ (double) es_lifetime.num : 0.0);

  printf("\n                       num    avg stddev    min  10%%  25%%  50%%  75%%  90%%  95%%  99%% max");
  printf("\nConnection life [ms]");
  printstats(&es_lifetime);
  printf("\nHandshake time  [ms]");
  printstats(&es_connect);
  printf("\nResponse time   [ms]");
  printstats(&es_response);
  printf("\nTransfer time   [ms]");
  printstats(&es_transfer);
  printf("\n\n");

  if (basic.num_sent > 0)
    call_period = delta/basic.num_sent;
  printf ("Request rate: %.1f req/s (%.1f ms/req)\n",
	  basic.num_sent / delta, 1e3*call_period);

  if (basic.num_sent)
    call_size = basic.req_bytes_sent / basic.num_sent;
  printf ("Request size [B]: %.1f\n", call_size);

  putchar ('\n');

  if (basic.num_reply_rates > 0)
    {
      reply_rate_avg = (basic.reply_rate_sum / basic.num_reply_rates);
      if (basic.num_reply_rates > 1)
	reply_rate_stddev = STDDEV (basic.reply_rate_sum,
				    basic.reply_rate_sum2,
				    basic.num_reply_rates);
    }
  printf ("Reply rate [replies/s]: min %.1f avg %.1f max %.1f stddev %.1f "
	  "(%u samples)\n",
	  basic.num_reply_rates > 0 ? basic.reply_rate_min : 0.0,
	  reply_rate_avg, basic.reply_rate_max,
	  reply_rate_stddev, basic.num_reply_rates);

  if (total_replies)
    {
      hdr_size = basic.hdr_bytes_received / total_replies;
      reply_size = basic.reply_bytes_received / total_replies;
      footer_size = basic.footer_bytes_received / total_replies;
    }
  printf ("Reply size [B]: header %.1f content %.1f footer %.1f "
	  "(total %.1f)\n", hdr_size, reply_size, footer_size,
	  hdr_size + reply_size + footer_size);

  printf ("Reply status: 1xx=%u 2xx=%u 3xx=%u 4xx=%u 5xx=%u\n",
	  basic.num_replies[1], basic.num_replies[2], basic.num_replies[3],
	  basic.num_replies[4], basic.num_replies[5]);

  putchar ('\n');

  user = (TV_TO_SEC (test_rusage_stop.ru_utime)
	  - TV_TO_SEC (test_rusage_start.ru_utime));
  sys = (TV_TO_SEC (test_rusage_stop.ru_stime)
	  - TV_TO_SEC (test_rusage_start.ru_stime));
  printf ("CPU time [s]: user %.2f system %.2f (user %.1f%% system %.1f%% "
	  "total %.1f%%)\n", user, sys, 100.0*user/delta, 100.0*sys/delta,
	  100.0*(user + sys)/delta);

  total_size = (basic.req_bytes_sent
		+ basic.hdr_bytes_received + basic.reply_bytes_received);
  printf ("Net I/O: %.1f KB/s (%.1f*10^6 bps)\n",
	  total_size/delta / 1024.0, 8e-6*total_size/delta);

  putchar ('\n');

  printf ("Errors: total %u client-timo %u socket-timo %u "
	  "connrefused %u connreset %u\n"
	  "Errors: fd-unavail %u addrunavail %u ftab-full %u other %u\n",
	  (basic.num_client_timeouts + basic.num_sock_timeouts
	   + basic.num_sock_fdunavail + basic.num_sock_ftabfull
	   + basic.num_sock_refused + basic.num_sock_reset
	   + basic.num_sock_addrunavail + basic.num_other_errors),
	  basic.num_client_timeouts, basic.num_sock_timeouts,
	  basic.num_sock_refused, basic.num_sock_reset,
	  basic.num_sock_fdunavail, basic.num_sock_addrunavail,
	  basic.num_sock_ftabfull, basic.num_other_errors);
}