Access Log

The RealServer Access Log (pnaccess.log) displays the number of clients that are connected to your server, the names of the client machines, the clips they listened to, the times of day they connected, and errors that were generated by RealServer. This information can give you an idea of who your audience is and which clips are popular.


Reading the Access Log File

Two configuration parameters, LoggingStyle and StatsMask, control what is captured in the Access Log.

If StatsMask is configured to gather statistics type 3, note that the Access Log file size will grow rapidly. If you configure StatsMask to collect this information, be sure to review the log file frequently, as described in "Log File Maintenance."

For more information on these settings, see Configuring and Maintaining RealServer.

View the Access Log File by opening the pnaccess.log or pnaccess file in a word processor or text editor.

Syntax

The format for an Access Log record is:

<IP_address> <- -> <timestamp> "<GET filename> <protocol>" <return_code> <bytes_sent> [<client_ID_string>] [<client_unique_id>] <stat1> <stat2> <stat3> <file_size> <file_time> <sent_time> <resends> <failed_resends>

where:

 <IP_address>

 IP address of Client. For example:

123.45.678.90

 <- ->  Two hyphens for compatibility with Web server log formats.
 <timestamp>

 Time that Client accessed the file in the format

[<dd>/<Mmm>/<yyyy>:<hh>:<mm>:<ss> <TZ>]

where TZ is the time zone expressed as the number of hours relative to the Coordinated Universal Time (Greenwich, England). For example:

[31/Oct/1996:13:44:32 -0800]

 <GET filename>

 File requested by Client. Filename is the relative path to the Server's BasePath value. For example:

GET /bands/fourfrosh/classics.ra

 <protocol>  Protocol and version used by Client in the format:
PNA<type>/<number>
where:
<type> is T for TCP connections, H for PNAviaHTTP, M for Multicast, and blank for UDP connections.
Type appears only if the LoggingStyle configuration parameter is set to 1.
<number> is the PN protocol number. For example:
PNA/8 PNAT/8
 <return_code>  Return code using HTTP standard error codes.
 <bytes_sent> Number of bytes transferred to Client during play. This field may be lower than the total size of the media file, indicating partial playback of the file. If this field is consistently low for some or all media files, it may mean that RealPlayers are able to connect to your server, but are unable to play files. Check your system Error Logs for messages relating to network system errors.
[<client_ID_string>]

Client ID string. This field is not part of the common Web server Access Log format; it is text sent by the Client that describes the version and type of Player being used. RealAudio Player versions 2 and 3 use the following format:
<platform>_<version>_<player>_<type>_<dist>_ <language>_<CPU>

where:

<platform> is the operating system that RealPlayer is running on-Win16, WinNT, Mac, and so on.
<version> is the operating system version number.
<player> is the version number of RealPlayer.
<type> is the type of RealPlayer.
<dist> is the distribution code of RealPlayer.
<language> is the code of RealPlayer. EN is US English.
<CPU> is the type of processor running the platform. If the processor does not have a hardware Floating Point Unit, the string "no-FPU" is appended to the end of the CPU field with no delimiter. For example:
Win95_4.0_3.0.0.19_play32_PN01_EN_586

RealAudio Player version 1 uses an ID string in the following format:

<platform><player>

The field descriptions are the same as the newer format. For example:

Win1.0.0

If the client is a splitter, the Client ID field contains the following string:

splitter

<client-unique_id>

Unique ID generated during RealPlayer installation that enables you to track details for individual players, allowing you to enhance the quality of the captured statistics. This entry is displayed only when LoggingStyle is set to 2.

This will also display the new entries for LoggingStyle 1.

<stat1>

Connection statistics sent by the Client when it completes playing a clip. These optional fields are sent only when the StatsMask configuration parameter is set to 1 or 3. The Player user can also set a preference value to block sending connection statistics. When the Client blocks connection statistics, when the Client is a splitter, or when StatsMask is set to 0, the <stat1> and <stat2> fields are replaced by [UNKNOWN].

The connection statistics field starts with the string "Stat1" and has the following format:

[Stat1: <total> <order> <missing> <early> <late> <audioformat>]

where:

<total>is the total number of packets received by the Client.
<order>is the number packets received by the Client out of order. These packets are reordered as they are being played by the Client.
<missing>is the number of packets requested by the Player, but that the Client did not receive. This is the most common problem reported in the Error Log. A low percentage of missing packets does not have a serious effect on quality; a high percentage seriously degrades media quality.

<early> is the number of requested packetsreceived too early by the Client. If the Client receives packets too early, then older packets are discarded. This problem is rare, and it may indicate that the client's machine is running too slow or has a bad Internet connection. However, if this problem shows up often, you need to investigate further.

<late> is the number of packets received too late by the Client. If the Client receives packets too late, the Player will have already played that portion of the media. This is a rare occurrence; if it happens often, your server's Internet connection may not be fast enough.

<audioformat> is the name of the decoder used to play the clip. Possible values are:
dnet RealAudio 3.0 formats
28.8 RealAudio 2.0 28.8 format
lpcJ RealAudio 2.0 14.4 format

For example:
[Stat1: 641 0 0 0 0 dnet]

<stat2>

Extended connection statistics sent by the Player when it completes playing a clip. These statistics are supported by all Players.

These optional fields are sent only when the StatsMask configuration parameter is set to 2 or 3. The Player user can also set a preference value to block sending connection statistics. When the Client blocks connection statistics, when the Client is a splitter, or when StatsMask is set to 0, the <stat1> and <stat2> fields are replaced by [UNKNOWN].

The extended connection statistics field starts with the string "Stat2" and has the following format:

[Stat2: <bandwidth> <available> <highest><lowest> <average> <requested> <received><late> <rebuffering> <type> <startup> <videoformat>]

where:

<bandwidth> is the bandwidth in bits per second of the clip.

<available> is the average bandwidth in bits per second available to the user while the clip was playing.

<highest> is the highest time in milliseconds between the Client requesting a resent packet and receiving the packet.

<lowest> is the lowest time in milliseconds between the Client requesting a packet be resent and receiving the packet.

<average> is the average time in milliseconds between the Client requesting a resent packet and receiving the packet for all resent packets.

<requested> is the number of resent packets requested by the Client.

<received> is the total number of resent packets received by the Client.

<late> is the number of resent packets received by the Client too late.

<rebuffering> is the rebuffering percentage for the clip.

<type> is the transport type for the connection. Values are: 0 (UDP), 1 (TCP), 2 (IP Multicast), and 3 (PNAviaHTTP)

<startup> is the time in milliseconds from the Client sending the first packet to the Server to the Client receiving the first packet from the Server.

<video format> is the name of the video decoder used to play the clip. Values are:
pnrv - RealVideo 1.0
clrv - RealVideo (Fractal)

For example:

[Stat2: 15234 15552 0 0 0 0 0 0 0 0 220 28.8]

<stat3>

Statistics sent by the client which capture behavior observed by a data renderer. These statistics are only sent to the RealServer when the RealPlayer preferences are set to send statistics. Moreover, these fields are only requested by the RealServer when the StatsMask configuration setting is set to 4, 5, 6, or 7. Pipe '|' characters are used as field separators in the Stat3 record. Multiple Stat3 records are delimited by a semi-colon character (;).

[Stat3:<timestamp>|<elapse time>|<action>|<(data)>;]

where:
<timestamp> Time when action occurred. Time is recorded in milliseconds, and is relative to the connect time of the client.
<elapse time> Elapse time of the clip when the behavior occurred, where time is recorded in milliseconds.
<action> Behavior, where values are:
ABORT client stop/application closure (not natural end of clip play)
RESUME resume play after a pause, seek or stop
PAUSE client pause
SEEKSTART client begin seek
RECSTART client begin record (RealPlayer Plus only)
RECEND end record (RealPlayer Plus only)
CLICK image map click-through
ADSTART elapse time of an advertisment clip when the client started play
ADEND elapse time of an advertisment clip when the client ended play
<(data)> Optional field containing a string which defines the action. The string found in this field is surrounded by parenthesis characters "(" and " )". Individual values found in the field are separated by the comma "," character.

For example:
[Stat3:6000|10000|PAUSE|;78600|10000|RESUME|;200000|1350000|SEEKSTART|;2004500|3280000|RESUME|;]

Note: a Stat3 record is not generated at either the initial play or natural end of .rm file stream. This information is directly derived from the main section of the Access Log.

Data Definitions Within the Stat3 Record

CLICK Where the data field defines a CLICK action, the following values appear:
(<horizontal coordinate>, <vertical coordinate>, <action_tag>)

where:
<horizontal coordinate> is the horizontal coordinate the client interacted with
<vertical coordinate> is the vertical coordinate the client interacted with
<action_tag> is the action comprising the image map values are:
<PLAYER=" ">
<URL=" ">
<SEEK= >

For example:
[Stat3:80000|80000|CLICK|(28,43,URL="http://www. realnetworks.com");]

ADSTART Where the data field defines an ADSTART action, the following values appear:
(<AD URL>,<elapse time>)

where:
<AD URL> is the relative path and file name of the advertisment media
<elapse time> is the elapse time in milliseconds of the advertisment media when play began

For example:
[Stat3:1000|0|ADSTART|(/ads/mci.rm,0);]

 

ADEND Where the data field defines an ADEND action, the following values appear:
(<AD URL>,<elapse time>,<ad duration>)

where:

<AD URL> is the relative path and file name of the advertisment media
<elapse time> is the elapse time in milliseconds of the advertisment media when play ended
<ad duration> total duration time in milliseconds of the advertisment media

For example:

[Stat3:1000|0|ADSTART|(/ads/mci.rm,0);31000|0|ADEND|(/ads/mci.rm,30000);]

<file_size>
Total amount in bytes of media data in the media file. This number is less than the size of the media file because it does not include the file header and other non-media information stored in the file. This field appears only if the LoggingStyle configuration parameter is set to 1.
For live broadcasts, file_size is always 0.

<file_time>
Total length, in seconds, of media stored in the media file. This field appears only if the LoggingStyle configuration parameter is set to 1.
For live broadcasts, file_time is always 0.

<sent_time>
Total length, in seconds, of the media sent to the Player. This field appears only if the LoggingStyle configuration parameter is set to 1.

<resends>
Number of packets successfully resent because of transmission errors. This field appears only if the LoggingStyle configuration parameter is set to 1.

<failed_resends>
Number of packets not successfully resent in time to correct transmission errors. This field appears only if the LoggingStyle configuration parameter is set to 1.

Example Access Log

The following example shows three Access Log entries:

172.16.2.139 - - [04/Nov/1996:14:45:57 -0700] "GET newclips/realcool.ra PNA/8" 200 590976 [Win95_4.0_3.0.0.19_play32_PN01_EN_586] [Stat1: 2592 0 0 0 0 28.8][Stat2: 15234 15552 0 0 0 0 0 0 0 0 220 28.8] 590976 310 310 0 0 172.16.2.139 - - [04/Nov/1996:14:53:49 -0700] "GET classic/xyz144.ra PNAT/8" 200 4 [Win95_4.0_3.0.0.19_play32_PN01_EN_586] [UNKNOWN] 5580 5 0 0 0 172.16.2.139 - - [04/Nov/1996:16:01:10 -0700] "GET speeches/carter.ra PNA/5" 200 55680 [Win1.0.0] [Stat1: 229 0 0 0 0] 630020 630 55 0 0

© 1997 RealNetworks, Inc.