Add pie chart of top second level domains. Thanks to Jeetendra Poojari for the feature request.

This commit is contained in:
Darold Gilles 2013-11-26 19:05:18 +01:00
parent 68fe5c673d
commit c81c111cc4
4 changed files with 33 additions and 4 deletions

View File

@ -119,6 +119,8 @@ my %Translate = (
'Domain_number' => 'Number of domain', 'Domain_number' => 'Number of domain',
'Domain_graph_hits_title' => 'Domain Hits Statistics on', 'Domain_graph_hits_title' => 'Domain Hits Statistics on',
'Domain_graph_bytes_title' => 'Domain Bytes Statistiques on', 'Domain_graph_bytes_title' => 'Domain Bytes Statistiques on',
'Second_domain_graph_hits_title' => 'Second level Hits Statistics on',
'Second_domain_graph_bytes_title' => 'Second level Bytes Statistiques on',
'First_visit' => 'First visit', 'First_visit' => 'First visit',
'Last_visit' => 'Last visit', 'Last_visit' => 'Last visit',
'Globals_Statistics' => 'Globals Statistics', 'Globals_Statistics' => 'Globals Statistics',
@ -2734,6 +2736,8 @@ sub _print_top_domain_stat
$t1 =~ s/\%d/$self->{TopNumber}/; $t1 =~ s/\%d/$self->{TopNumber}/;
if ($tpe eq 'Hits') { if ($tpe eq 'Hits') {
$domain_stat{"$1$2"}{hits} += $hits;
$domain_stat{"$1$2"}{bytes} += $bytes;
print $out $self->_print_title($t1, $stat_date); print $out $self->_print_title($t1, $stat_date);
my %data = (); my %data = ();
@ -2746,8 +2750,19 @@ sub _print_top_domain_stat
} }
my $title = "$Translate{'Domain_graph_hits_title'} $stat_date"; my $title = "$Translate{'Domain_graph_hits_title'} $stat_date";
my $domain_hits = $self->flotr2_piegraph(1, 'domain_hits', $title, $Translate{'Domains_graph'}, '', %data); my $domain_hits = $self->flotr2_piegraph(1, 'domain_hits', $title, $Translate{'Domains_graph'}, '', %data);
print $out qq{<table class="graphs"><tr><td>$domain_hits</td>}; %data = ();
foreach my $dom (keys %domain_stat) {
if (($domain_stat{$dom}{hits}/$total_hits)*100 > $self->{MinPie}) {
$data{$dom} = $domain_stat{$dom}{hits};
} else {
$data{'others'} += $domain_stat{$dom}{hits};
}
}
my $title2 = "$Translate{'Second_domain_graph_hits_title'} $stat_date";
my $domain2_hits = $self->flotr2_piegraph(1, 'second_domain_hits', $title2, $Translate{'Domains_graph'}, '', %data);
print $out qq{<table class="graphs"><tr><td>$domain_hits</td><td>$domain2_hits</td></tr>};
$domain_hits = ''; $domain_hits = '';
$domain2_hits = '';
%data = (); %data = ();
foreach my $dom (keys %perdomain) { foreach my $dom (keys %perdomain) {
if (($perdomain{$dom}{bytes}/$total_bytes)*100 > $self->{MinPie}) { if (($perdomain{$dom}{bytes}/$total_bytes)*100 > $self->{MinPie}) {
@ -2756,11 +2771,21 @@ sub _print_top_domain_stat
$data{'others'} += $perdomain{$dom}{bytes}; $data{'others'} += $perdomain{$dom}{bytes};
} }
} }
$data{'others'} = $data{'others'};
$title = "$Translate{'Domain_graph_bytes_title'} $stat_date"; $title = "$Translate{'Domain_graph_bytes_title'} $stat_date";
my $domain_bytes = $self->flotr2_piegraph(1, 'domain_bytes', $title, $Translate{'Domains_graph'}, '', %data); my $domain_bytes = $self->flotr2_piegraph(1, 'domain_bytes', $title, $Translate{'Domains_graph'}, '', %data);
print $out qq{<td>$domain_bytes</td></tr></table>}; %data = ();
foreach my $dom (keys %domain_stat) {
if (($domain_stat{$dom}{bytes}/$total_bytes)*100 > $self->{MinPie}) {
$data{$dom} = $domain_stat{$dom}{bytes};
} else {
$data{'others'} += $domain_stat{$dom}{bytes};
}
}
$title2 = "$Translate{'Second_domain_graph_bytes_title'} $stat_date";
my $domain2_bytes = $self->flotr2_piegraph(1, 'second_domain_bytes', $title2, $Translate{'Domains_graph'}, '', %data);
print $out qq{<tr><td>$domain_bytes</td><td>$domain2_bytes</td></tr></table>};
$domain_bytes = ''; $domain_bytes = '';
$domain2_bytes = '';
%data = (); %data = ();
} else { } else {
print $out "<h4>$t1 $stat_date</h4><div class=\"line-separator\"></div>\n"; print $out "<h4>$t1 $stat_date</h4><div class=\"line-separator\"></div>\n";

View File

@ -92,6 +92,8 @@ Domain_Duration_title Top %d Domain duration on
Domain_number Number of domain Domain_number Number of domain
Domain_graph_hits_title Domain Hits Statistics on Domain_graph_hits_title Domain Hits Statistics on
Domain_graph_bytes_title Domain Bytes Statistiques on Domain_graph_bytes_title Domain Bytes Statistiques on
Second_domain_graph_hits_title Second level Hits Statistics on
Second_domain_graph_bytes_title Second level Bytes Statistiques on
First_visit First visit First_visit First visit
Last_visit Last visit Last_visit Last visit
Globals_Statistics Globals Statistics Globals_Statistics Globals Statistics

View File

@ -92,6 +92,8 @@ Domain_Duration_title Top %d des domaines par dur
Domain_number Nombre de domaines Domain_number Nombre de domaines
Domain_graph_hits_title Statistiques des requêtes par domaines pour Domain_graph_hits_title Statistiques des requêtes par domaines pour
Domain_graph_bytes_title Statistiques des transferts par domaines pour Domain_graph_bytes_title Statistiques des transferts par domaines pour
Second_domain_graph_hits_title Statistiques des requêtes par sous-domaines pour
Second_domain_graph_bytes_title Statistiques des transferts par sous-domaines pour
First_visit Première visite First_visit Première visite
Last_visit Dernière visite Last_visit Dernière visite
Globals_Statistics Statistiques Globales Globals_Statistics Statistiques Globales

View File

@ -60,7 +60,7 @@ table.stata td a:hover { color: #76add2; }
/* Graphs */ /* Graphs */
/**************/ /**************/
#code_requests, #code_bytes, #network_hits, #network_bytes, #user_hits, #user_bytes, #domain_hits, #domain_bytes { #code_requests, #code_bytes, #network_hits, #network_bytes, #user_hits, #user_bytes, #domain_hits, #second_domain_hits, #domain_bytes, #second_domain_bytes {
width : 550px; width : 550px;
height: 300px; height: 300px;
background:#F3F2ED; background:#F3F2ED;