previous next

Chapter 14: Tracking RealProxy Activity

RealProxy can create reports of historical data that let you see trends and gather information. This information is stored in the proxy log. Any error messages are recorded in the error log. This chapter shows how to read those logs, and how to change where the log files are stored.

Proxy Log

The proxy log records the IP addresses of the clients that have connected, the clips they listened to, the times of day they connected, and much more. New information is always appended to the end of the proxy log.

Reading a Proxy Log

To read the contents of the proxy log, you must first look up the values of Logging Style in RealSystem Administrator, as this determines how much information is present in the proxy log. At installation, Logging Style is set to 3.

Logging Style provides information about RealProxy clip-serving activity.

Once you know the values of Logging Style, view the proxy log by opening proxy.log (Windows) or proxy (UNIX) file in a word processor or text editor.

Proxy Log Format

RealProxy stores information about each clip it serves in a separate record. Each record is delimited by a new line. Fields within each record are separated by spaces.

One record is created for every clip served; if the client requests a presentation that includes several clips, one record is created for each clip in the presentation.

The fields that appear within each record depend on the settings for Logging Style. The complete syntax of each record, assuming Logging Style is gathering all possible information (Logging Style is 5) is shown:


client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_error_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends [stream_components] start_time server_address average_bitrate packets_sent presentation_id [proxy_info]

Note
Although in the rest of this manual, square brackets indicate optional material, the square brackets shown in the proxy log actually appear within proxy log records.

The following table lists the format for each proxy log record:

Proxy Log Format
Proxy Log Field Description
client_IP_address IP address of client, such as 123.45.123.45
- - Two hyphens for compatibility with standard 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) and is relative to the server. For example:
[31/Oct/1996:13:44:32 -0800]
"GET filename
or
"GET URL
Requests for PNA will show the file name (and path) requested by the client.
Requests for RTSP will show the complete URL, beginning with rtsp://.
If the client requests a file that doesn't exist, UNKNOWN appears in place of a file name.
protocol/version" Application-layer protocol used to send the clip to the client. Possible values are:
RTSP
PNA
In addition, a letter at the end of the string indicates which transport type was used:
(blank) UDP connection
T TCP connection
M Multicast
For example, PNAT means that the clip was sent using the PNA protocol over a TCP connection.

The version number indicates the edition of the protocol.
HTTP_status_code Return code using HTTP standard error codes. Usually returns 200.
bytes_sent Number of bytes transferred to the client.
[client_info] Describes the version and type of client being used. Client information appears in the following format,
[platform version client type dist_code language CPU]
If client information can't be gathered (the request came from a client that chose not to send statistics, or from a browser connecting to RealSystem Administrator pages), UNKNOWN appears within the brackets.
Field Description
platform Operating system RealPlayer runs on-Win16, WinNT, Mac, and so on.
version Operating system version number.
client Version number of RealPlayer.
type Type of RealPlayer.
dist_code Distribution code of RealPlayer.
language Language setting in RealPlayer.
CPU Type of processor on which the client is running. 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.0 shows only two fields for [client_info]. They are platform and client.
[client_GUID] Unique ID generated during RealPlayer installation that enables you to track details for individual clients.
If client information can't be gathered (the request came from a client that chose not to send statistics, or from a browser connecting to RealSystem Administrator pages), UNKNOWN appears within the brackets.
If the user elects to suppress this information, this field will show a series of zeroes:
00000000-0000-0000-0000-000000000000
instead of a unique identifier. Refer to "Omitting Client Identifiers".
Included when Logging Style is set to 2 or higher.
[Stat1] (see the "Statistics Type 1 Information" table) Connection statistics sent by the client when it completes playing a clip (see the "Statistics Type 1 Information" table). When the client blocks connection statistics, the field is replaced by [UNKNOWN]. Note that there is no space between the closing square bracket of this statistics type and the opening square bracket of the next statistics type.
Included when Stats Mask is 1, 3, 5, or 7.
[Stat2] (see the "Statistics Type 2 Information" table) Extended connection statistics sent by the client when it completes playing a clip (see the "Statistics Type 2 Information" table). When the client blocks connection statistics, the field is replaced by [UNKNOWN]. Note that there is no space between the closing square bracket of this statistics type and the opening square bracket of the next statistics type.
Included when Stats Mask is 2, 3, 6, or 7.
[Stat3] (see the "Statistics Type 3 Information" table) Actions taken by the visitor while playing the clip (see the "Statistics Type 3 Information" table). When the client preferences are set to block statistics, this field is replaced by [UNKNOWN]. Note that there is no space between the closing square bracket of the previous statistics type and the opening square bracket of this statistics type.
Included when Stats Mask is 4, 5, 6, or 7.
file_size Reserved for future use. Currently this information is not recorded by RealProxy.
Included when Logging Style is set to 1 or higher.
file_time Reserved for future use. Currently this information is notrecorded by the RealProxy.
Included when Logging Style is set to 1 or higher.
sent_time Total length, in seconds, of the media sent to the client.
Included when Logging Style is set to 1 or higher.
resends Number of packets successfully resent because of transmission errors.
Included when Logging Style is set to 1 or higher.
failed_resends Number of packets not successfully resent in time to correct transmission errors.
Included when Logging Style is set to 1 or higher.
[stream_
components
]
Type of material sent, indicated in the following pattern:
RealAudio RealVideo Event RealImage
1
shows that the stream includes this type, 0 indicates that it does not. Thus, a stream that included RealVideo and RealAudio but no events or RealImages would appear in the proxy log as:
1 1 0 0.
Included when Logging Style is set to 3 or 4.
start_time Timestamp of start time.Included when Logging Style is set to 3 or 4.
server_address IP address where clip came from. This may be the transmitterRealServer, a RealServer which is acting as a receiver, or another RealProxy which is acting as a receiver.
In cache mode, RTSP requests will show the cache's address (usually 127.0.0.1). To find the address of the transmitter, look in the GET field (see "GET filename or "GET URL).
Included when Logging Style is set to 3 or 4.
average_bitrate Average bitrate of clip. This field always shows 0.
Included when Logging Style is set to 4.
packets_sent Number of packets sent.
Included when Logging Style is set to 4.
presentation_id Number shown by all clips in the same SMIL presentation. The SMIL file itself is also included in the log, and shares the number as well. The number is assigned by RealProxy at the time of transmission.
Included when Logging Style is 5.
[proxy_info] Displays information about the type of proxied stream (always included):
Value Meaning
Demand Pass-Through The proxied stream was an on-demand clip, and it was sent in passthrough mode.
Live Pass-Through The proxied stream was a live clip, and it was sent in passthrough mode.
Live Split The proxied stream was a live clip, and it was sent via push splitting.
Demand Cache Hit The proxied stream as an on-demand clip, and RealProxy served it from the media cache.
Unknown Clip type and delivery were of unknown type.

StatsMask Results

The information gathered by each of the three Statistics Types are listed in this section. Stat1 and Stat2 report information about the RealAudio portion of a clip. Even if a clip includes both RealAudio and RealVideo, these statistics report solely RealAudio information. Stat3 reports information about visitor and client behavior while playing all types of clips or presentations.

When Stats Mask is 0, two square brackets ([]) appear instead of the Stat1, Stat2, and Stat3 sections.

Stat1 Syntax

Statistics Type 1 gathers basic information about how successfully audio clips were received by the client. It also tells what the client used to decode the audio portion of the clip.

Syntax of this portion of the access log record:


[Stat1: packets_received out_of_order missing early late audio_format] 

The table below gives the information collected by this statistic type:

Statistics Type 1 Information
Field Description

packets_received

Total number of packets received by the client.

out_of_order

Number packets received by the client out of order. These packets are reordered as they are being played by the client.

missing

Number of packets requested by the client, but that the client did not receive.

early

Number of requested packets received too early by the client.

late

Number of packets received too late by the client.

audio_format

Name of the decoder used to play the clip. Possible values are:
sipr RealAudio 5.0 formats
dnet RealAudio 3.0 formats
28.8 RealAudio 2.0 28.8 format
lpcJ RealAudio 2.0 14.4 format
cook RealAudio G2 format

Stat2 Syntax

Statistics Type 2 provides details about the success of clip delivery, giving information about bandwidth requests. Re-sent packets are described in detail here. It identifies which transport type was used to make the connection and which video decoder played the clip. This set of statistics uses the following format:


[Stat2: bandwidth available highest lowest average requested received late rebuffering transport startup format]

The table below explains what information is collected by this statistic type:

Statistics Type 2 Information
Field Description

bandwidth

Bandwidth of the clip, in bits per second.

available

Average bits per second available to the user while the clip was playing.

highest

Highest time between the client resend packet request and the packet resend arrival, in milliseconds.

lowest

Lowest time between the client resend packet request and the packet resend arrival, in milliseconds.

average

Average time between the client resend packet request and the packet resend arrival, in milliseconds.

requested

Number of resend packets requested by the client.

received

Total number of re-sent packets received by the client.

late

Number of re-sent packets received by the client too late.

rebuffering

Rebuffering percentage for the clip.

transport

Transport type for the connection. Values are:
0: UDP
1: TCP
2: IP Multicast
3: PNAviaHTTP

startup

Time when the client receives the first clip data, in milliseconds. The data may arrive before the clip starts playing.

format

Name of the decoder used to play the clip. Possible values are:
sipr RealAudio 5.0 formats
dnet RealAudio 3.0 formats
28.8 RealAudio 2.0 28.8 format
lpcJ RealAudio 2.0 14.4 format
cook RealAudio G2 format

Stat3 Syntax

Statistics Type 3 provides detailed information about viewer action while listening or viewing clips. It addresses advanced features of the implementation, notably ads and image maps. You can find out at what point in the clip a viewer clicked on an image map or stopped watching the clip.

If Stats Mask is configured to gather statistics type 3 (Stat3), note that the access log file size will grow rapidly. If you configure Stats Mask to collect this information, be sure to review the log file frequently. This statistics type uses the following format:


[Stat3:timestamp|elapsed_time|action|;] 

Records of activity are separated by a semicolon (;) and are in the following form:


timestamp|elapsed_time|action|;

Thus, the Stat3 record of a visitor pausing, resuming play, and watching to the clip's end would look like the following:


[Stat3:4360|2107|PAUSE|;8401|2107|RESUME|;12608|6321|STOP|;] 

The table below gives the format of the Stat3 records:

Statistics Type 3 Information
Field Description

timestamp

Time in milliseconds when action occurred. It is relative to the connect time of the client.

elapsed_time

Elapsed time of the clip when the behavior occurred, given in milliseconds.

action

The visitor's or client's behavior, where values are the following:
CLICK Visitor clicked on the image map. Further information includes:
x-coord Horizontal coordinate of click.
y-coord Vertical coordinate of click.
action Action that occurred. This is one of the following:
PLAYER="url" The URL of the link the viewer clicked, as used in the client
URL="url" The URL of the link the viewer clicked, as used in the Browser.
SEEK="destination" The seek destination point, in milliseconds.
PAUSE The visitor paused the client.
RESUME Resume play after a pause, seek or stop.
SEEK The seek destination point, in milliseconds.
STOP End of clip reached.
RECSTART RealPlayer Plus began recording the clip.
RECEND RealPlayer Plus stopped recording the clip.

LoggingStyle Results

The format of the proxy log under each of the different Logging Style values is shown in the table below:

Logging Style Effect on Proxy Log
Logging Style value Individual record format
0 client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] [proxy_info]
1

client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends [proxy_info]
2

client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends [proxy_info]
3

client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends [stream_components] start_time server_address [proxy_info]
4

client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends [stream_components] start_time server_address average_bitrate packets_sent [proxy_info] [proxy_info]
5

client_IP_address - - [timestamp] "GET filename protocol/version" HTTP_status_code bytes_sent [client_info] [client_GUID] file_size file_time sent_time resends failed_resends presentation_id [proxy_info]

Information Recorded by RealServer

If you are also managing a transmitter RealServer, you know that similar information is recorded in the transmitter's access log. Information about client requests is stored in both the proxy log and the transmitter's access log. Each Server's settings are independent of each other, and the appropriate information is recorded in each Server's log file. For example, RealProxy may be configured to record Logging Style 0, and RealServer may be collecting all the information of Logging Style 5.

Customizing Information Reported by the Proxy Log

RealProxy uses the following settings for the proxy log (you can view these in RealSystem Administrator by clicking General Setup>Logging):

To customize the information gathered in the proxy log, you must first decide what types of information you want to gather. Then make the appropriate changes to Logging Style, which collects information about RealServer activity, and to Stats Mask, which gathers statistics about what arrived at the client and viewer behavior while playing the clips.

To gather information with the proxy log, you must first decide what types of information you want to gather. Then make the appropriate changes to Logging Style.

Changing Information Gathered with Stats Mask

Stats Mask supplies more detailed information to the access log. This variable is optional. For a complete description of information collected by each statistics type, and the syntax of the types as they appear in the access log, see the "Statistics Type 1 Information" table, the "Statistics Type 2 Information" table, and the "Statistics Type 3 Information" table.

If you omit a value for Stats Mask, RealServer uses the default value of 3 (gather statistics types 1 and 2).

Collecting Combinations of Stats Mask Information
To gather this information... ...set Stats Mask to this value Statistics Type 1 Statistics Type 2 Statistics Type 3
No additional statistics 0
Statistics type 1 only 1 ·
Statistics type 2 only 2 ·
Both statistics types 1 and 2 3 · ·
Statistics type 3 only 4 ·
Both statistics types 1 and 3 5 · ·
Both statistics types 2 and 3 6 · ·
All statistics (types 1, 2, and 3) 7 · · ·

Tip
If Stats Mask is configured to gather statistics type 3, the access log file size will grow rapidly. If you configure Stats Mask to collect this information, be sure to review the log file frequently, or use log file rolling.

Not all versions of RealPlayer supply the information requested by Stats Mask; Statistics type 2 is supplied by RealAudio Player versions 3.0 and later, and Statistics type 3 is supplied by RealPlayer versions 5.0 and later.

Gathering Information with Logging Style

Logging Style has six options, styles 0 through 5. Styles 0 through 4 each includes information of the logging styles with lower numbers. Thus, Logging Style 3 collects the information that's collected by styles 0, 1, and 2, as well as the material gathered by style 3. Logging Style 5 consists of the fields in Logging Style 2, plus the presentation_id field.

A list of information gathered by each value is given below.

Logging Styles 0, 1, and 3 contain some additional information, as described in "Proxy Log Format"

Information Collected by Logging Style
To gather this information... ...set LoggingStyle to this value
Bytes sent 0 or higher
Clip name including path 0 or higher
Client IP address and platform information 0 or higher
Timestamp 0 or higher
Packets successfully and unsuccessfully re-sent 1 or higher
Protocol (RTSP or PNA) 1 or higher
Send time (total media sent in seconds) 1 or higher
Transport method (TCP, UDP) and version 1 or higher
Client ID 2 or higher
Server IP Address 3 or 4
Stream components 3 or 4
Timestamp for start time 3 or 4
Average bitrate 4
Packets sent 4
Common presentation identifier 5

Omitting Client Identifiers

Normally, every proxy log record displays a unique client identification number for each user. However, both users and administrators have the option to omit this information from proxy log records.

If a user elects to withhold his software's unique client number, a string of zeroes appears instead: [00000000-0000-0000-0000-000000000000].

RealServer's default behavior is to use client identifiers, when available. It will show zeroes for those users who have opted to suppress their client software identifiers.

Regardless of the user's setting, you can instruct RealServer to always show the string of zeroes instead of the actual client identifier. If you choose this option, all proxy log records show zeroes, rather than the actual client identifiers. (This applies only to the logging styles that collect data for the [client_GUID] field—logging styles 2 and higher.)

There is no way to override the client's setting, should the user choose to send only zeroes.

To disable collection of client identifiers:

  1. In RealSystem Administrator, click General Setup. Click Logging.

  2. From the Disable Client GUID list, select No.

  3. Click Apply.

Log File Rolling

Proxy log files can grow indefinitely as they accumulate data. To keep log files to a manageable size, you can limit the proxy log to a weeks's worth of information or a certain file size, and RealProxy will begin a new log file when the limit is reached.

Log file rolling applies only to proxy log files.

To set up log file rolling:

  1. In RealSystem Administrator, click General Setup. Click Logging.

  2. Indicate where log files should be stored by giving the path and file name in the Proxy Log Path box.

  3. Decide whether to limit the log files by time period or by size.

    If you have values in all three boxes, RealProxy will use the size or time period that is reached first.

  4. When you're done, click Apply.

Rolled log files are named with the following format:


name.log.datestamp

where:

name Name of the regular log file. The name for proxy logs is taken from the LogPath setting (usually rmaccess).
log The log file extension.
datestamp The date stamp, in the following format:
YYYYMMDDHHMMSS
where:
YYYY Year.
MM Two digits of the month.
DD Date, in two digits. January would be 01.
HH Hour
MM Minutes
SS Seconds

Disabling Log File Rolling

Choose Never from the Log Rolling Time Period list, and type 0 (zero) for the Log Rolling size.

Error Log

The error log contains both information and error messages about server operation. By looking for patterns of errors, you can troubleshoot and correct possible problems on your site.

View the text of the error log using a word processor or text editor.

The error log is an excellent tool for troubleshooting any problems that may arise with your RealProxy. An entry is made to the error log only when an error occurs. If no errors occur, this file will not exist.

Error messages relating to RealProxy activity appear in the error log. The error log is created when the first error occurs.

If you have an error message in the error log that refers to a fatal error, contact the RealNetworks Technical Support Department for assistance.

To customize where RealProxy creates the error log:

  1. In RealSystem Administrator, click General Setup. Click Logging.

  2. In the Error Log Path box, type the path and name you want to use for the error log. The default location is the Logs directory of the main RealProxy directory, and the default file name is rmerror.log.

  3. When you have finished making changes, click Apply.

Error Log Format

The error log records client connections and RealProxy errors. Each time an error is generated by RealProxy, a record is created in the error log. The error log path is stored in the same directory as the proxy log, indicated by the LogPath variable.

Syntax of the file is as follows:


***date time servername(process_ID): error_message 

where entries are defined below:

Error Log Syntax
Entry Meaning
*** Three asterisks indicate an error. Informational messages are not preceded by asterisks.
date Date on which the error occurred. Given in the form d-Mmm-YY.
time Time the error occurred, according to RealProxy. Given in the form HH:MM:SS:TT.hhh
servername(process_ID) The server name, followed by the process ID in parentheses.
error_message Text of error message




Copyright © 2000 RealNetworks
For information on RealNetworks' technical support, click here.
Comments on this document? Click here.
This file last updated on 12/07/00 at 16:37:40.
previous next