COUNTER parameter* == COUNTER=listOfCounterControl counterControl == do | total | acc | ssi | ref | err | ro | no | mntpV -- default: COUNTER=no -- restriction: applicable to HTTP, SMTP, FTP and DNS
do -- enable all counters including "total,acc,ssi,ref,err" total -- enable the total hit counter of this server acc -- enable access counters for each access to each URL ssi -- enable access counters for SSI (by PAGE_COUNT in .shtml) ref -- enable referrer counters for HTTP "Referer:" err -- enable error counters (for SMTP) ro -- enable counters in read-only no -- disable counters [default] mntpV -- use the counter of the MOUNT point (vURL) instead of each URLIf enabled with COUNTER="do", all access counters for any requests, referrers, and errors are incremented. If enabled with "total", the access counter for any requests to this server is incremented. If enabled with "acc", access counters for any requests to each target URL is incremented. If enabled with "ssi", only the access counter for the URL of a SHTML page including a SSI PAGE_COUNT reference is incremented when the page is accessed. If enabled with "ref", the referrer counter of the URL in the HTTP "Referer:" fields is incremented.
Each access counter is stored in a file at "ADMDIR/counts/access/URL#count". Each counter file starts with a line consists of the numbers of accesses in ASCII decimal format so that it can be initialized or modified manually. The line can contain three numbers; the first one is the total count, the second one is the count excluding repetitive accesses from the same client, and the third one is the count excluding repetitive access from one of recent ten clients. Each count are represented as %T, %U and %V respectively in the format string described below.
The counter can be displayed in a specified format using SSI as the PAGE_COUNT or COUNTER value. If no "url" attribute is specified in a tag, the URL of the SHTML file containing the tag is implied. Counter values are converted to a printable character string following to the format string given in the "fmt=..." attribute. The default format is "%T".
Format Specifiers:
%T -- total count %U -- the count excluding repetitive accesses form a client %V -- the count excluding repetitive accesses from recent 10 clients %N -- the number of networks [ 0 - 1023 ] %M -- the map of networks %L -- the list of the last ten clients %mT %mU %mV -- mean counts per day %mHT %mHU %mHV -- mean counts per hour %tC -- the time of the first count (counter creation) %tT %tU %tV -- the time of update of each countThe specifier %N represents the number of networks of clients where each network is with net-mask of 10 bits (0xFFC00000 255.192.0.0/10). This means that the whole IPv4 address space is divided into 1024 networks. So the %N represents the distribution of clients onto networks over the address space as a coverage value in per-mill. %M shows the distribution of clients as a visual map.
Example:
<!--#echo var=PAGE_COUNT --> <!--#echo var=COUNTER --> <!--#echo var=COUNTER fmt="%T hits since %tC" --> <!--#echo var=COUNTER url="URL" --> <!--#echo var=COUNTER fmt="%U/%T hits" --> <!--#echo var=COUNTER url="URL" fmt="%U/%T hits" -->The total count is displayed by TOTAL_HITS tag or by COUNTER tag with "sel=total". The referrer counter of a URL is incremented when the URL is in "Referer:" header in a HTTP request. Each referrer counter is stored in a file at "ADMDIR/counts/referer/URL#count-ref". The referrer counter can be displayed with "sel=ref" attribute in the COUNTER tag.
Example:
<!--#echo var=TOTAL_HITS --> <!--#echo var=COUNTER sel=total --> <!--#echo var=COUNTER url="URL" fmt="%U/%T refs" sel=ref -->
Enabling all counters for each URL can be expensive and/or unnecessary. You can reduce counters by using the counter of a MOUNT point as the representative, or using only total access counters of the server. In the following example, counters for all URLs is enabled by default (with COUNTER=do), while counters for URLs under /srv1/ is represented by the counter of /srv1/, and only the server's total counter and SSI counters are enabled for URLs under /mine/. As shown in this example, COUNTER can be specified as a MountOption of which initial value is inherited from the COUNTER parameter.
Example:
COUNTER=do MOUNT="/srv1/* http://srv1/* COUNTER=mntpV" MOUNT="/mine/* file:dirpath/* COUNTER=no,total,ssi"