Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
software:awstats [2011/01/21 16:57] cyril |
software:awstats [2013/09/19 16:40] (current) |
||
---|---|---|---|
Line 41: | Line 41: | ||
TODO: | TODO: | ||
* exclude search engine robots, or at least display user agent | * exclude search engine robots, or at least display user agent | ||
+ | * when looking for a directory only, don't display all files in this directory, only the directory or index.php/ | ||
+ | |||
+ | ==== Integration ==== | ||
+ | |||
+ | It would be perfect if these two plugin functionalities were directly integrated in awstats, directly with a link on the url or hostname instead of additional column, and everywhere so that we can continuously navigate between pages and hosts stats. And more important, it should use a database to avoid parsing the whole log every time. | ||
+ | |||
+ | ==== Increase number of stored DNS ==== | ||
+ | |||
+ | This is pretty necessary with the previous patch of Follow Me to work correctly with resolved hosts. | ||
+ | |||
+ | <code diff> | ||
+ | --- awstats_orig.pl | ||
+ | +++ awstats.pl | ||
+ | @@ -42,7 +42,7 @@ | ||
+ | ; # Benchmark info are printing every NBOFLINESFORBENCHMARK lines (Must be a power of 2) | ||
+ | | ||
+ | | ||
+ | - 500; # Nb of records to save in DNS last update cache file | ||
+ | + 50000; | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== Scale pages count independently from hits ==== | ||
+ | |||
+ | Apparently they modified the code to have the same scale for pages count and hits count. The problem is that if you have a lot less pages than hits, then pages are not readable, though they are a better information about the traffic than hits. The difference between pages and hits is more a constant of your website design than an interesting information about traffic. | ||
+ | |||
+ | Here is how to restore and independent scale for pages: | ||
+ | |||
+ | TODO: not complete | ||
+ | |||
+ | <code diff> | ||
+ | --- awstats_orig.pl | ||
+ | +++ awstats.pl | ||
+ | @@ -14226,6 +14226,10 @@ | ||
+ | print "< | ||
+ | print "</ | ||
+ | $total_u = $total_v = $total_p = $total_h = $total_k = 0; | ||
+ | + | ||
+ | + | ||
+ | + if ( $_ > $max_p ) { $max_p = $_; } | ||
+ | + } | ||
+ | $max_h = 1; | ||
+ | foreach ( values %_domener_h ) { | ||
+ | if ( $_ > $max_h ) { $max_h = $_; } | ||
+ | @@ -14242,9 +14246,9 @@ | ||
+ | my $bredde_p = 0; | ||
+ | my $bredde_h = 0; | ||
+ | my $bredde_k = 0; | ||
+ | - if ( $max_h > 0 ) { | ||
+ | + if ( $max_p > 0 ) { | ||
+ | $bredde_p = | ||
+ | - int( $BarWidth * $_domener_p{$key} / $max_h ) + 1; | ||
+ | + int( $BarWidth * $_domener_p{$key} / $max_p ) + 1; | ||
+ | } # use max_h to enable to compare pages with hits | ||
+ | if ( $_domener_p{$key} && $bredde_p == 1 ) { $bredde_p = 2; } | ||
+ | if ( $max_h > 0 ) { | ||
+ | @@ -16224,6 +16228,10 @@ | ||
+ | } | ||
+ | |||
+ | #if (($MonthPages{$YearRequired.$monthix}||0) > $max_p) | ||
+ | + if ( ( $MonthPages{ $YearRequired . $monthix } || 0 ) > $max_p ) | ||
+ | + { | ||
+ | + | ||
+ | + } | ||
+ | if ( ( $MonthHits{ $YearRequired . $monthix } || 0 ) > $max_h ) | ||
+ | { | ||
+ | $max_h = $MonthHits{ $YearRequired . $monthix }; | ||
+ | @@ -16253,7 +16261,7 @@ | ||
+ | my @valcolor = | ||
+ | ( " | ||
+ | " | ||
+ | - my @valmax = ( $max_v, $max_v, $max_h, $max_h, $max_k ); | ||
+ | + my @valmax = ( $max_v, $max_v, $max_p, $max_h, $max_k ); | ||
+ | my @valtotal = | ||
+ | ( $total_u, $total_v, $total_p, $total_h, $total_k ); | ||
+ | my @valaverage = (); | ||
+ | @@ -16305,11 +16313,11 @@ | ||
+ | ( $MonthVisits{ $YearRequired . $monthix } || 0 ) / | ||
+ | $max_v * $BarHeight ) + 1; | ||
+ | } | ||
+ | - if ( $max_h > 0 ) { | ||
+ | + if ( $max_p > 0 ) { | ||
+ | $bredde_p = | ||
+ | int( | ||
+ | ( $MonthPages{ $YearRequired . $monthix } || 0 ) / | ||
+ | - | ||
+ | + | ||
+ | } | ||
+ | if ( $max_h > 0 ) { | ||
+ | $bredde_h = | ||
+ | @@ -16565,7 +16573,7 @@ | ||
+ | $total_u | ||
+ | |||
+ | # Define total and max | ||
+ | - | ||
+ | + | ||
+ | 0; # Start from 0 because can be lower than 1 | ||
+ | foreach my $daycursor ( $firstdaytoshowtime .. $lastdaytoshowtime ) | ||
+ | { | ||
+ | @@ -16584,7 +16592,7 @@ | ||
+ | $max_v = $DayVisits{ $year . $month . $day }; | ||
+ | } | ||
+ | |||
+ | -#if (($DayPages{$year.$month.$day}||0) > $max_p) | ||
+ | +if (($DayPages{$year.$month.$day}||0) > $max_p) | ||
+ | if ( ( $DayHits{ $year . $month . $day } || 0 ) > $max_h ) { | ||
+ | $max_h = $DayHits{ $year . $month . $day }; | ||
+ | } | ||
+ | @@ -16617,7 +16625,7 @@ | ||
+ | $average_k = $average_k / $average_nb; | ||
+ | if ( $average_v > $max_v ) { $max_v = $average_v; } | ||
+ | |||
+ | - #if ($average_p > $max_p) { $max_p=$average_p; | ||
+ | + if ($average_p > $max_p) { $max_p=$average_p; | ||
+ | if ( $average_h > $max_h ) { $max_h = $average_h; } | ||
+ | if ( $average_k > $max_k ) { $max_k = $average_k; } | ||
+ | } | ||
+ | @@ -16656,7 +16664,7 @@ | ||
+ | ); | ||
+ | my @valcolor = | ||
+ | ( " | ||
+ | - my @valmax | ||
+ | + my @valmax | ||
+ | my @valtotal = ( $total_v, $total_p, $total_h, $total_k ); | ||
+ | $average_v = sprintf( " | ||
+ | $average_p = sprintf( " | ||
+ | @@ -16717,10 +16725,10 @@ | ||
+ | int( ( $DayVisits{ $year . $month . $day } || 0 ) / | ||
+ | $max_v * $BarHeight ) + 1; | ||
+ | } | ||
+ | - if ( $max_h > 0 ) { | ||
+ | + if ( $max_p > 0 ) { | ||
+ | $bredde_p = | ||
+ | int( ( $DayPages{ $year . $month . $day } || 0 ) / | ||
+ | - | ||
+ | + | ||
+ | } | ||
+ | if ( $max_h > 0 ) { | ||
+ | $bredde_h = | ||
+ | @@ -16779,8 +16787,8 @@ | ||
+ | if ( $max_v > 0 ) { | ||
+ | $bredde_v = int( $average_v / $max_v * $BarHeight ) + 1; | ||
+ | } | ||
+ | - if ( $max_h > 0 ) { | ||
+ | - | ||
+ | + if ( $max_p > 0 ) { | ||
+ | + | ||
+ | } | ||
+ | if ( $max_h > 0 ) { | ||
+ | $bredde_h = int( $average_h / $max_h * $BarHeight ) + 1; | ||
+ | @@ -17066,7 +17074,7 @@ | ||
+ | my @vallabel = | ||
+ | ( " | ||
+ | my @valcolor = ( " | ||
+ | - my @valmax = ( int($max_h), | ||
+ | + my @valmax = ( int($max_p), | ||
+ | my @valtotal = ( $total_p, $total_h, $total_k ); | ||
+ | $average_p = sprintf( " | ||
+ | $average_h = sprintf( " | ||
+ | @@ -17115,13 +17123,13 @@ | ||
+ | my $bredde_p = 0; | ||
+ | my $bredde_h = 0; | ||
+ | my $bredde_k = 0; | ||
+ | - if ( $max_h > 0 ) { | ||
+ | + if ( $max_p > 0 ) { | ||
+ | $bredde_p = int( | ||
+ | ( | ||
+ | $avg_dayofweek_p[$_] ne '?' | ||
+ | ? $avg_dayofweek_p[$_] | ||
+ | : 0 | ||
+ | - ) / $max_h * $BarHeight | ||
+ | + ) / $max_p * $BarHeight | ||
+ | ) + 1; | ||
+ | } | ||
+ | if ( $max_h > 0 ) { | ||
+ | @@ -17298,7 +17306,7 @@ | ||
+ | $max_h = $max_k = 1; | ||
+ | for ( my $ix = 0 ; $ix <= 23 ; $ix++ ) { | ||
+ | |||
+ | - #if ($_time_p[$ix]> | ||
+ | + if ($_time_p[$ix]> | ||
+ | if ( $_time_h[$ix] > $max_h ) { $max_h = $_time_h[$ix]; | ||
+ | if ( $_time_k[$ix] > $max_k ) { $max_k = $_time_k[$ix]; | ||
+ | } | ||
+ | @@ -17309,7 +17317,7 @@ | ||
+ | my @vallabel | ||
+ | ( " | ||
+ | my @valcolor = ( " | ||
+ | - my @valmax = ( int($max_h), | ||
+ | + my @valmax = ( int($max_p), | ||
+ | my @valtotal | ||
+ | my @valaverage = ( $average_p, $average_h, $average_k ); | ||
+ | my @valdata | ||
+ | @@ -17334,9 +17342,9 @@ | ||
+ | my $bredde_p = 0; | ||
+ | my $bredde_h = 0; | ||
+ | my $bredde_k = 0; | ||
+ | - if ( $max_h > 0 ) { | ||
+ | + if ( $max_p > 0 ) { | ||
+ | $bredde_p = | ||
+ | - int( $BarHeight * $_time_p[$ix] / $max_h ) + 1; | ||
+ | + int( $BarHeight * $_time_p[$ix] / $max_p ) + 1; | ||
+ | } | ||
+ | if ( $max_h > 0 ) { | ||
+ | $bredde_h = | ||
+ | </ | ||
+ |