#/usr/bin/env perl -w
#
# (c) Tiago Alves Macambura
#
# $Id: parse_estatisticas.pl,v 1.1 2003/08/04 18:28:09 tmacam Exp $
#
# uso: cat estatisticas | perl -w parse_estatisticas.pl > estatisticas.csv
#
# O resultado, no arquivo estatisticas.csv é um arquivo 
# CSV ( COMMA SEPARATED WHATEVER ), pronto para ser importado pelo excel
#
#

my $MAQ='MÁQUINA DESCONHECIDA';
my $CONSULTA='CONSULTA DESCONHECIDO';
my $K=0;
my $used_time=0;
my @slave_time = (0,0,0,0);

my $next_time_invalid=0;

# Cabeçalho
print "MAQ;K;CONSULTA;used_time;slave_time[0];slave_time[1];slave_time[2];slave_time[3]\n";

# Segue linha a linha processando o typescript
while(<>){
	chomp;
	s///g;

	if (/^MAQ=(\d)/){
		$MAQ=$1;
		next;
	};
	if (/^CONSULTA=(.*)/){
		$CONSULTA=$1;
		next;
	};
	if (/^K=(\d)/){
		$K=$1;
		@slave_time = (0,0,0,0);
		next;
	};
	if (/^master: response from slave.(\d).+time=(\d+)/){
		$slave_time[$1]=$2;
		#print "\tslave_time[$1]=$2\n";
		next;
	};
	if (/^master.*used_time=(\d+)$/){
		$used_time=$1;
		print "$MAQ;$K;$CONSULTA;$used_time;".$slave_time[0].";".$slave_time[1].";".$slave_time['2'].";".$slave_time['3']."\n";
		next;
	};
	# Excessões conhecidas
	if (/^master: total_slave/){
		next;
	};
	if (/^#/){
		next;
	}
	# Catch'em all - pega as linhas pokemons
	print "!!! Unparseable !!!>$_\n";
}
