Written by: Helio Loureiro
Category: Blog
Hits: 5838

Aproveitando a tranquilidade das férias, que juntei com as férias coletivas e mais uns dias que tinha no banco de horas (preferia em dinheiro) totalizando uns 35 dias, resolvi dar uma revisada nos meus sites, blogs, twitters, etc:

Como já esperava, o mais desatualizado é esse daqui mesmo :-)

Fui dar uma verificada nas estatísticas de acesso e encontrei algumas inconsistências no banco de dados (várias entradas para mesmo tipo de browser). Já tinha tentando arrumar isso com SQL uma outra vez, que não funcionou nada bem. Dessa vez resolvi partir para outra solução.

Utilizando o phpMyAdmin (administração do MySQL via web), fiz um backup da tabela "mos_stats_agents", e exportei a mesma no formato CSV.

Fiz um programa pra filtragem dos dados, em perl (disponível na outra parte desse post), deixando somente o valor do contador que fosse mais alto e... sucesso! Importei os dados novamente (fazendo antes um "DELETE FROM 'mos_stats_agents') e corrigi a tabela, que de 21140 entradas passou para 411. Tudo isso por falta de um "unique" num campo da tabela, que permite uns erros grotescos como esses que estavam acontencendo.

O programa permitiu visualizar umas estatísticas interessantes:


 === Report === 
Total accesses per browsers: 83316 
Total accesses per operating system: 58728 
Total accesses per countries: 104946

Ou seja, a quantidade de acessos deveria ser igual. Pelos dados, vejo que o contador do site se baseia no número de sistemas operacionais que acessaram a página.

Dando uma olhada interna no gerenciamento do mamboserver, pude ver que, além de ter corrigido as entradas repetidas, a relação de browsers realmente inverteu, mostrando Mozilla e Firefox acima dos Internet Explorer, como muitos sites já tinham noticiado anteriormente (Info Exame por exemplo).

Em sistemas operacionais, Windão continua sendo o número 1, seguido de alguma coisa desconhecida, que suponho ser bots do google e outros web crawlers, assim como web proxies. Linux continua com uns 5%.

Sei que os acessos ao meu site não são boa amostragem, uma vez que o público que acessa é bastante específico, mas é possível notar que realmente as coisas estão mudando.


#! /usr/bin/perl 
# Program to parse and fix multiple entries 
# from mambo server statistics. 
# Using csv file as input. 

my $file = $ARGV[0]; 
my $output = $file."-FIXED"; open(FD,"$file") or die "Impossible to read statistics from $file: $!\n"; 
print "Parsing $file\n"; 
print "Saving as $output\n"; 
%TYPE0; 

foreach my $line () { 
    chomp($line); 
    my ($descr, $type, $count) = split(/;/, $line); 
    $type =~ s/\"//g; 
    $count =~ s/\"//g; 
    if ($type =~ m/0/) { 
        #print "Found 0 ($type)\n"; 
        #$TYPE0{$descr} += 0; 
        if ($TYPE0{$descr} < $count) { 
            $TYPE0{$descr} = $count; 
            print "Added $count to $descr\n"; 
        } 
    } 
    if ($type =~ m/1/) { 
        if ($TYPE1{$descr} < $count) { 
            $TYPE1{$descr} = $count; 
        } 
    } 
    if ($type =~ m/2/) { 
        if ($TYPE2{$descr} < $count) { 
            $TYPE2{$descr} = $count; 
        } 
    } 
} 

open(OUT,">$output") or die "Impossible to save news statistics into $output: $!\n"; 

foreach $k (sort keys %TYPE0) { 
    print $k.";\"0\";\"".$TYPE0{$k}."\"\n"; 
    print OUT $k.";\"0\";\"".$TYPE0{$k}."\"\n"; 
    $total_browsers += $TYPE0{$k}; 
} 

foreach $k (sort keys %TYPE1) { 
    print $k.";\"1\";\"".$TYPE1{$k}."\"\n"; 
    print OUT $k.";\"1\";\"".$TYPE1{$k}."\"\n"; 
    $total_opsys += $TYPE1{$k}; 
} 

foreach $k (sort keys %TYPE2) { 
    print $k.";\"2\";\"".$TYPE2{$k}."\"\n"; 
    print OUT $k.";\"2\";\"".$TYPE2{$k}."\"\n"; 
    $total_countries += $TYPE2{$k}; 
} 

print "=== Report ===\n"; 
print "Total accesses per browsers: $total_browsers\n"; 
print "Total accesses per operating system: $total_opsys\n"; 
print "Total accesses per countries: $total_countries\n";