https://www.mediawiki.org/wiki/Special:Code/MediaWiki/115012
Revision: 115012
Author: a_engels
Date: 2012-04-23 13:38:11 +0000 (Mon, 23 Apr 2012)
Log Message:
-----------
requests by Phil
Modified Paths:
--------------
trunk/wikistats/squids/SquidReportArchive.pl
Modified: trunk/wikistats/squids/SquidReportArchive.pl
===================================================================
--- trunk/wikistats/squids/SquidReportArchive.pl 2012-04-23 11:40:43 UTC
(rev 115011)
+++ trunk/wikistats/squids/SquidReportArchive.pl 2012-04-23 13:38:11 UTC
(rev 115012)
@@ -4793,10 +4793,10 @@
sub UserAgentLine
{
- my ($title, $code, $showperc, $ismarked, $depth) = @_ ;
+ my ($title, $code, $showperc, $ismarked, $depth, $sharecol) = @_ ;
my $result = "<tr>";
- for($i = 0 ; $i < $depth ; $i++)
- { $result .= "<td>></td>" }
+ if ($sharecol > 0)
+ { $ result .= "<td rowspan=$sharecol> </td>" ; }
my $colspan = 4 - $depth;
if ($ismarked)
{ $result .= "<td class=lt colspan=$colspan><b>$title</b></td>" ; }
@@ -4813,9 +4813,27 @@
$result .= UserAgentField($countua {$code, 'M', '.', '.'}, $ismarked) ;
$result .= UserAgentField($countua {$code, 'W', '.', '.'}, $ismarked) ;
$result .= UserAgentField($countua {$code, 'X', '.', '.'}, $ismarked) ;
+ $result .= UserAgentFieldPerc($countua {$code, '.', '.', 'opensearch'},
$total_opensearch, $showperc, $ismarked) ;
return $result ;
}
+sub UserAgentMobileLine
+{
+ my ($title, $code, $ismarked, $depth, $sharecol) = @_ ;
+ my $result = "<tr>";
+ if ($sharecol > 0)
+ { $ result .= "<td rowspan=$sharecol> </td>" ; }
+ my $colspan = 2 - $depth;
+ if ($ismarked)
+ { $result .= "<td class=lt colspan=$colspan><b>$title</b></td>" ; }
+ else
+ { $result .= "<td class=lt colspan=$colspan>$title</td>" ; }
+ $result .= UserAgentFieldPerc($countua {$code, 'M', 'page', '.'} + $countua
{$code, 'W', 'page', '.'}, $total_mobile_html, $true, $ismarked) ;
+ $result .= UserAgentFieldPerc($countua {$code, '.', '.', '.'},
$total_mobile, $true, $ismarked) ;
+ $result .= UserAgentFieldPerc($countua {$code, '.', '.', 'opensearch'},
$mobile_opensearch, $true, $ismarked) ;
+ return $result ;
+}
+
sub WriteReportUserAgents
{
&Log ("WriteReportUserAgents\n") ;
@@ -4834,42 +4852,48 @@
$html .= "<table border=1>\n" ;
- $html .= "<tr><th class=l valign='top' rowspan=2 colspan=4> </th><th
rowspan=16> </th><th class=c colspan=4>Page views</th><th
rowspan=16> </th><th class=c colspan=5>All requests</th></tr>\n" ;
+ $html .= "<tr><th class=l valign='top' rowspan=2 colspan=4> </th><th
rowspan=16> </th><th class=c colspan=4>Page views</th><th
rowspan=16> </th><th class=c colspan=5>All requests</th><th
rowspan=16> </th><th>Opensearch<a
href='#explain_search'>[1]</a></th></tr>\n" ;
$html .= "<tr><th class=c>Total</th><th class=c>Percentage</th><th
class=c>To mobile</th><th class=c>To main site</th>" ;
- $html .= "<th class=c>Total</th><th class=c>Percentage</th><th class=c>To
mobile</th><th class=c>To main site</th><th class=c>To other servers<a
href='#explain_other'>[1]</a></th></tr>\n" ;
+ $html .= "<th class=c>Total</th><th class=c>Percentage</th><th class=c>To
mobile</th><th class=c>To main site</th><th class=c>To other servers<a
href='#explain_other'>[2]</a></th><th class=c>Percentage</th></tr>\n" ;
$total_count = $countua {'Z', '.', '.', '.'} * $multiplier
;
$total_html = ($countua {'Z', 'M', 'page', '.'} +
$countua {'Z', 'W', 'page', '.'}) * $multiplier ;
- #$total_opensearch = $countua {'Z', '.', '.', 'opensearch'} *
$multiplier ;
- #$total_mobile = $countua {'Z', 'M', '.', '.'} *
$multiplier ;
- #$total_mobile_html = $countua {'Z', 'M', 'page', '.'} *
$multiplier ;
- #$total_nonmobile = $countua {'Z', 'W', '.', '.'} *
$multiplier ;
- #$total_nonmobile_html = $countua {'Z', 'W', 'page', '.'} *
$multiplier ;
- #$mobile_count = $countua {'S', '.', '.', '.'} *
$multiplier ;
- #$mobile_html = $countua {'S', '.', 'page', '.'} *
$multiplier ;
- #$mobile_opensearch = $countua {'S', '.', '.', 'opensearch'} *
$multiplier ;
- #$mobile_mobile = $countua {'S', 'M', '.', '.'} *
$multiplier ;
- #$mobile_mobile_html = $countua {'S', 'M', 'page', '.'} *
$multiplier ;
- #$mobile_nonmobile = $countua {'S', 'W', '.', '.'} *
$multiplier ;
- #$mobile_nonmobile_html = $countua {'S', 'W', 'page', '.'} *
$multiplier ;
+ $total_opensearch = $countua {'Z', '.', '.', 'opensearch'} *
$multiplier ;
+ $total_mobile = $countua {'S', '.', '.', '.'} * $multiplier
;
+ $total_mobile_html = ($countua {'S', 'M', 'page', '.'} +
$countua {'S', 'W', 'page', '.'}) * $multiplier ;
+ $mobile_opensearch = $countua {'S', '.', '.', 'opensearch'} *
$multiplier ;
- $html .= &UserAgentLine("From all sources", '.', $false, $true, 0) ;
- $html .= &UserAgentLine("From mobile devices", 'S', $true, $true, 1) ;
- $html .= &UserAgentLine("From mobile browsers", 'C', $true, $true, 2) ;
- $html .= &UserAgentLine("From tablet browsers", 'T', $true, $false, 3) ;
- $html .= &UserAgentLine("From other mobile browsers", 'M', $true, $false, 3)
;
- $html .= &UserAgentLine("Through WAP access", 'P', $true, $false, 3) ;
- $html .= &UserAgentLine("From mobile apps", 'Q', $true, $true, 2) ;
- $html .= &UserAgentLine("Wikimedia Android apps", 'A', $true, $false, 3) ;
- $html .= &UserAgentLine("Other Android apps", 'a', $true, $false, 3) ;
- $html .= &UserAgentLine("Wikimedia iOS apps", 'I', $true, $false, 3) ;
- $html .= &UserAgentLine("Other iOS apps", 'i', $true, $false, 3) ;
- $html .= &UserAgentLine("Unspecified apps", 'W', $true, $false, 3) ;
- $html .= &UserAgentLine("From non-mobile devices", 'N', $true, $true, 1) ;
- $html .= &UserAgentLine("From bots", 'B', $false, $false, 1) ;
+ $html .= &UserAgentLine("From all sources", '.', $false, $true, 0, 0) ;
+ $html .= &UserAgentLine("From mobile devices", 'S', $true, $true, 1, 13) ;
+ $html .= &UserAgentLine("From mobile browsers", 'C', $true, $true, 2, 10) ;
+ $html .= &UserAgentLine("From tablet browsers", 'T', $true, $false, 3, 3) ;
+ $html .= &UserAgentLine("From other mobile browsers", 'M', $true, $false, 3,
0) ;
+ $html .= &UserAgentLine("Through WAP access", 'P', $true, $false, 3, 0) ;
+ $html .= &UserAgentLine("From mobile apps", 'Q', $true, $true, 2, 0) ;
+ $html .= &UserAgentLine("Wikimedia Android apps", 'A', $true, $false, 3, 5) ;
+ $html .= &UserAgentLine("Other Android apps", 'a', $true, $false, 3, 0) ;
+ $html .= &UserAgentLine("Wikimedia iOS apps", 'I', $true, $false, 3, 0) ;
+ $html .= &UserAgentLine("Other iOS apps", 'i', $true, $false, 3, 0) ;
+ $html .= &UserAgentLine("Unspecified apps", 'W', $true, $false, 3, 0) ;
+ $html .= &UserAgentLine("From non-mobile devices", 'N', $true, $true, 1, 0) ;
+ $html .= &UserAgentLine("From bots", 'B', $false, $false, 1, 0) ;
$html .= "</table>\n" ;
- $html .= "<p><a name='explain_other'>[1]: The great majority of the traffic
to 'other' sites is images from upload.wikimedia.org.</a></p>\n" ;
-
+ $html .= "<p> </p>\n" ;
+ $html .= "<table border=1>\n" ;
+ $html .= "<tr><th class=l colspan=2>Partition of traffic from mobile
devices</th><th>Page views</th><th>Total requests</th><th>Opensearch<a
href='#explain_search'>[1]</a></th></tr>\n" ;
+ $html .= &UserAgentMobileLine("From mobile browsers", 'C', $true, 0, 0) ;
+ $html .= &UserAgentMobileLine("From tablet browsers", 'T', $false, 1, 3) ;
+ $html .= &UserAgentMobileLine("From other mobile browsers", 'M', $false, 1,
0) ;
+ $html .= &UserAgentMobileLine("Through WAP access", 'P', $false, 1, 0) ;
+ $html .= &UserAgentMobileLine("From mobile apps", 'Q', $true, 0, 0) ;
+ $html .= &UserAgentMobileLine("Wikimedia Android apps", 'A', $false, 1, 5) ;
+ $html .= &UserAgentMobileLine("Other Android apps", 'a', $false, 1, 0) ;
+ $html .= &UserAgentMobileLine("Wikimedia iOS apps", 'I', $false, 1, 0) ;
+ $html .= &UserAgentMobileLine("Other iOS apps", 'i', $false, 1, 0) ;
+ $html .= &UserAgentMobileLine("Unspecified apps", 'W', $false, 1, 0) ;
+ $html .= "</table>\n" ;
+ $html .= "<p><a name='explain_search'>[1]: Various mobile apps use the
user's browser to show most Wikipedia pages. This includes Wikimedia's own iOS
app upto early April 2012. These are thus not seen on the logs themselves, and
are not included in these data. Thus, the actual use of these apps is higher
than these data show. To give a reasonable estimate of their usage, this column
gives percentages based on a segment that is shown for at least some of these
apps, namely the usage of JavaScript to show suggestions when people are
searching - these are the so-called 'opensearch' api calls. Only percentages
are shown here, because the data are not interesting out of themselves, but
serve as an estimate for the 'true' partition of the total data.</a></p>" ;
+ $html .= "<p><a name='explain_other'>[2]: The great majority of the traffic
to 'other' servers is images from upload.wikimedia.org.</a></p>\n" ;
$html .= $colophon_ae ;
print FILE_HTML_USER_AGENTS $html ;
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs