Skip Headers
Oracle® Application Server Web Cache Administrator's Guide
10g Release 2 (10.1.2)
Part No. B14046-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

B Invalidation and Statistics Document Type Definitions

This appendix describes the Document Type Definition (DTD), or grammar, of invalidation requests and responses.

This appendix contains these topics:

Invalidation DTD

This section describes the DTD of invalidation requests and responses. The DTD for both requests and responses is defined within WCSinvalidation.dtd, located in the $ORACLE_HOME/webcache/toolkit directory on UNIX and the ORACLE_HOME\webcache\toolkit directory on Windows.

This section contains the following topics:

Invalidation Request and Response DTD

Example B-1 shows the portion of the DTD for invalidation requests.

Example B-1 Invalidation Request DTD

<!-- root element for invalidation request -->
<!ELEMENT    INVALIDATION     (SYSTEM?,OBJECT+)>

<!-- VERSION is currently "WCS-1.1" without the quotes -->
<!ATTLIST    INVALIDATION
             VERSION          CDATA          #REQUIRED
>

<!ELEMENT    SYSTEM           (SYSTEMINFO+)>

<!ELEMENT    SYSTEMINFO       EMPTY>
<!ATTLIST    SYSTEMINFO
             NAME             CDATA          #REQUIRED
             VALUE            CDATA          #IMPLIED
>

<!ELEMENT    OBJECT           ((BASICSELECTOR|ADVANCEDSELECTOR), ACTION, INFO?)>

<!ELEMENT    BASICSELECTOR    EMPTY>
<!ATTLIST    BASICSELECTOR
             URI              CDATA          #REQUIRED
>

<!ELEMENT    ADVANCEDSELECTOR (COOKIE|HEADER|OTHER)*>
<!ATTLIST    ADVANCEDSELECTOR
             URIPREFIX        CDATA          #REQUIRED
             HOST             CDATA          #IMPLIED
             URIEXP           CDATA          #IMPLIED
             METHOD           CDATA          #IMPLIED
             BODYEXP          CDATA          #IMPLIED
>

<!ELEMENT    COOKIE           EMPTY>
<!ATTLIST    COOKIE
             NAME             CDATA          #REQUIRED
             VALUE            CDATA          #IMPLIED
>

<!ELEMENT    HEADER           EMPTY>
<!ATTLIST    HEADER
             NAME             CDATA          #REQUIRED
             VALUE            CDATA          #IMPLIED
>

<!ELEMENT    OTHER            EMPTY>
<!ATTLIST    OTHER
             TYPE             CDATA          #OPTIONAL
             NAME             CDATA          #REQUIRED
             VALUE            CDATA          #IMPLIED
>

<!ELEMENT    ACTION           EMPTY>
<!ATTLIST    ACTION
             REMOVALTTL       CDATA          #IMPLIED
>
<!ELEMENT    INFO           EMPTY>
<!ATTLIST    INFO           VALUE       CDATA          #REQUIRED
>

Table B-1 shows elements and attributes of the invalidation request DTD.

Table B-1 Invalidation Request DTD Elements and Attributes

Element Attribute Description
INVALIDATION  
Root element

VERSION Version of the WCSinvalidation.dtd file to use as the XML document type
SYSTEM  
Optional element in the INVALIDATION element
SYSTEMINFO  
Required element in the SYSTEM element

The possible NAME/VALUE pairs are as follows:

  • NAME="WCS_PROPAGATE" VALUE="TRUE|FALSE"

    This pair specifies whether or not invalidation requests are propagated to cache cluster members. If WCS_PROPAGATE is TRUE, it overrides the setting for invalidation propagation in the configuration. If WCS_PROPAGATE is FALSE, it uses the setting specified in the configuration.

  • NAME="WCS_DISCONNECTED_MODE_OK" VALUE="TRUE|FALSE"

    This pair specifies how soon invalidation takes place. If WCS_DISCONNECTED_MODE_OK is TRUE, invalidation is not immediately performed. The invalidation response is sent as soon as the invalidation request is received. Set this element to TRUE, if you do not want to wait for the invalidation result. If WCS_DISCONNECTED_MODE_OK is FALSE, invalidation is completed immediately and the invalidation result is sent.

OBJECT  
Required element in the invalidation request. You can specify more than one OBJECT element in the request

BASICSELECTOR Invalidation based on the URL

ADVANCEDSELECTOR Invalidation based on advanced invalidation selectors

ACTION Action to perform on objects
BASICSELECTOR  
Optional element

URI URL of the objects to be invalidated
ADVANCEDSELECTOR  
Optional element

URIPREFIX Path prefix of the objects to be invalidated

The path prefix must begin with http|https://host_name:port/path/filename or with "/" and end with "/". http|https://host_name:port/path/filename is required if the HOST attribute is not specified.

The prefix is interpreted literally, including reserved regular expression characters.


URIEXP URL of the objects to be invalidated underneath the URIPREFIX

HOST Host name and port number of the site (host_name:port)

Port 80 is the default port for HTTP requests.


METHOD HTTP request method of the objects to be invalidated. The default is GET.

BODYEXP HTTP POST body message of the objects to be invalidated
COOKIE  
Optional element

NAME Cookie name used by the objects contained within the URL

VALUE Value of the cookie

If no value is present, then only objects with the named cookie but without value are invalidated.

HEADER  
Optional element

NAME HTTP request header used by the objects contained within the URL

VALUE Value of the request header
OTHER  
Optional element

NAME NAME is one of the following:
  • URI to specify a match of the URL

  • BODY to specify a match of the HTTP POST body

  • QUERYSTRING_PARAMETER to specify a match of an embedded URL parameter

  • SEARCHKEY to specify a match of a search key in the Surrogate-Key response header


TYPE TYPE is one of the following:
  • SUBSTRING to specify a substring match

  • REGEX to specify a regular expression match


VALUE Value of URI, BODY, or QUERYSTRING_PARAMETER, and SEARCHKEY
ACTION  
Optional element

REMOVALTTL Maximum time that objects can reside in the cache before they are invalidated. The default is 0 seconds.
INFO  
Optional element

VALUE Comment to be included in the invalidation result

Example B-2 shows the portion of the DTD for invalidation responses.

Example B-2 Invalidation Response DTD

<!-- root element for invalidation result -->
<!ELEMENT    INVALIDATIONRESULT (SYSTEM?, OBJECTRESULT+)>

<!-- VERSION is currently "WCS-1.1" without the quotes -->
<!ATTLIST    INVALIDATIONRESULT
             VERSION          CDATA          #IMPLIED
>

<!ELEMENT    OBJECTRESULT     ((BASICSELECTOR|ADVANCEDSELECTOR), RESULT, INFO?)>

<!ELEMENT    RESULT           EMPTY>
<!ATTLIST    RESULT
             ID               CDATA          #REQUIRED
             STATUS           CDATA          #REQUIRED
             NUMINV           CDATA          #REQUIRED
>

Table B-2 shows elements and attributes of the invalidation response DTD.

Table B-2 Invalidation Response DTD Elements and Attributes

Element Attribute Description
INVALIDATIONRESULT  
 

VERSION Version of the WCSinvalidation.dtd file to use as the XML document type
SYSTEM  
Optional element
SYSTEMINFO  
The possible NAME/VALUE pair in a response is as follows:

NAME="WCS_CACHE_NAME" VALUE="string"

This pair specifies the name of the cache.

OBJECTRESULT  
Required element in the SYSTEM element

BASICSELECTOR Invalidation based on the URL

ADVANCEDSELECTOR Invalidation based on advanced invalidation selectors

RESULT Action performed on objects

INFO Comment specified in the INFO element of the invalidation request
BASICSELECTOR  
See: "BASICSELECTOR"
ADVANCEDSELECTOR  
See: "ADVANCEDSELECTOR"
RESULT  
 

ID Sequence number of all the URLs sent in the invalidation response. If there are multiple URLs specified in the invalidation message, the sequence number starts at 1 for the first URL and continues for each additional URL.

STATUS Status of the invalidation. Status is one of the following:
  • SUCCESS for successful invalidations

  • URI NOT CACHEABLE for objects that are not cacheable

  • URI NOT FOUND for objects not found


NUMINV Number of objects invalidated

Invalidation Preview Request and Response DTD

Example B-3 shows the portion of the DTD for invalidation preview requests.

Example B-3 Invalidation Request DTD

<!-- root element for invalidation preview request -->
<!ELEMENT INVALIDATIONPREVIEW (SYSTEM?, (BASICSELECTOR|ADVANCEDSELECTOR))>

<!-- VERSION is currently "WCS-1.1" without the quotes -->
<!ATTLIST INVALIDATIONPREVIEW
          VERSION  CDATA #REQUIRED
          STARTNUM CDATA #REQUIRED
          MAXNUM   CDATA #REQUIRED
>

Table B-3 shows elements and attributes of the invalidation preview request DTD.

Table B-3 Invalidation Preview Request DTD Elements and Attributes

Element Attribute Description
INVALIDATIONPREVIEW  
 

VERSION Version of the WCSinvalidation.dtd file to use as the XML document type

STARTNUM Number representing the first object to be listed

MAXNUM Number of objects to be listed
SYSTEM  
Optional element
SYSTEMINFO  
The possible NAME/VALUE pair are as follows:
  • NAME=" WCS_PROPAGATE" VALUE="TRUE|FALSE"

    This pair specifies whether or not invalidation requests are propagated to cache cluster members. If WCS_PROPAGATE is TRUE, it overrides the setting for invalidation propagation in the configuration. If WCS_PROPAGATE is FALSE, it uses the setting specified in the configuration.

  • NAME="WCS_DISCONNECTED_MODE_OK" VALUE="TRUE|FALSE"

    This pair specifies how soon invalidation takes place. If WCS_DISCONNECTED_MODE_OK is TRUE, invalidation is not immediately performed. The invalidation response is sent as soon as the invalidation request is received. Set this element to TRUE, if you do not want to wait for the invalidation result. If WCS_DISCONNECTED_MODE_OK is FALSE, invalidation is completed immediately and the invalidation result is sent.

BASICSELECTOR  
See: "BASICSELECTOR"
ADVANCEDSELECTOR  
See: "ADVANCEDSELECTOR"

Example B-4 shows the portion of the DTD for invalidation preview responses.

Example B-4 Invalidation Preview Response DTD

<!-- root element for invalidation preview result -->
<!ELEMENT INVALIDATIONPREVIEWRESULT (SYSTEM?, SELECTEDURL*)>

<!ATTLIST INVALIDATIONPREVIEWRESULT
          VERSION      CDATA #REQUIRED
          STATUS       CDATA #REQUIRED
          STARTNUM     CDATA #REQUIRED
          NUMURLS      CDATA #REQUIRED
          TOTALNUMURLS CDATA #REQUIRED
>

<!ELEMENT SELECTEDURL EMPTY>
<!ATTLIST SELECTEDURL VALUE CDATA #REQUIRED>

Table B-4 shows elements and attributes of the invalidation preview response DTD.

Table B-4 Invalidation Preview Response DTD Elements and Attributes

Element Attribute Description
INVALIDATIONPREVIEWRESULT  
 

VERSION Version of the WCSinvalidation.dtd file to use as the XML document type

STATUS Status of the preview. Status is one of the following:
  • SUCCESS for successful invalidations

  • URI NOT CACHEABLE for objects that are not cacheable

  • URI NOT FOUND for objects not found


STARTNUM Number representing the first object to be listed

NUMURLS Number of URLs returned in this preview result

TOTALNUMURLS Number of URLs matching the BASICSELECTOR or ADVANCEDSELECTOR selectors
SELECTEDURL  
URLs matching the BASICSELECTOR or ADVANCEDSELECTOR selectors to be invalidated
BASICSELECTOR  
See:"BASICSELECTOR"
ADVANCEDSELECTOR  
See: "ADVANCEDSELECTOR"

Statistics DTD

OracleAS Web Cache provides a simple, extensible, and flexible XML query interface to monitor the cache runtime information. You can query any selected group of data to get information about the performance of the cache, as well as information about the cache configuration.

This section contains the following topics:

Statistics Request and Response DTD

The DTD for both statistics requests and responses is defined within the file wcstats.dtd, located in the $ORACLE_HOME/webcache/dtds directory on UNIX and the ORACLE_HOME\webcache\dtds directory on Windows.

Example B-5 shows the contents of the statistics DTD file, wcstats.dtd.

Example B-5 Statistics DTD

<?xml version="1.0"?>
<!ELEMENT WCSTATS (GROUP*)>

<!ATTLIST WCSTATS DTD_VERSION CDATA #FIXED "1.0">

<!ELEMENT GROUP (PARAM*, ENTRY*, GROUP*)>
<!ATTLIST GROUP
  NAME CDATA #REQUIRED
>

<!ELEMENT PARAM EMPTY>
<!ATTLIST PARAM 
  NAME CDATA #REQUIRED
  VALUE CDATA #REQUIRED
>

<!ELEMENT ENTRY EMPTY>
<!ATTLIST ENTRY 
  NAME CDATA #REQUIRED
  VALUE CDATA #IMPLIED
>

Table B-5 describes the element names, the attributes, and descriptions for each element and attribute.

Table B-5 Statistics DTD

Element Attribute Description
WCSTATS  
Root element.

DTD_VERSION The version of the DTD to use as the XML document type. The valid value is 1.0.

GROUP You can specify more than one GROUP element in the request. GROUP can have child elements, including subgroups.

If a request contains the GROUP element without any children, OracleAS Web Cache returns all of the ENTRY values for the group as well as all subgroup values.


NAME A unique string associated with each statistic or group of statistics. In each top-level GROUP, NAME is associated with a unique numerical ID. You can use either the string or the numerical ID. Table B-6 lists the names and IDs of each top-level group.
PARAM  
An optional subelement of the element GROUP.

This element is used to send input parameters. PARAM cannot have child elements.

For example, to request URL statistics, you specify the group URL_STATS and specify how many URLs are to be returned in the result. You pass the string "OBJECT_COUNT" as the NAME of the parameter and the number of URLs to be returned as the VALUE.


NAME A string that names the data to be returned.

VALUE A string used to pass values to the element.
ENTRY  
An optional subelement of the element GROUP. ENTRY cannot have child elements.

NAME A unique string associated with each statistic.

VALUE A string used to pass values to the element or to retrieve values from OracleAS Web Cache.

Groups of Statistics

In the statistics DTD, types of data are grouped based on their logical relationship. The statistics DTD associates a group ID with each top-level group. To improve the performance of group lookup, you can use the number in the GROUP NAME field in your query XML message, rather than the string. (String comparison is a slower operation.)

To ensure the backward compatibility of all the XML messages, future versions of OracleAS Web Cache will add new groups only after existing groups, without changing the existing order. If, in future versions, OracleAS Web Cache deletes any existing groups, that group ID will not be reused for other purposes.

Conceptually, these groups are divided into six main categories. Table B-6 shows the group names, their corresponding group IDs and the category of the group.

Table B-6 Groups of Statistics

Group Name Group ID Category of Group
APP_SRVR_REQUEST_BACKLOG 120 Runtime Statistics (general)
APP_SRVR_STATS 123 Origin Server Statistics
BYTES_SAVED_WITH_COMPRESSION 105 Runtime Statistics (timed)
BYTES_SERVED 104 Runtime Statistics (timed)
CACHE_INFO 133 Cache Information
CACHE_REASONS 135 Cache Reasons Group
CACHE_REDIRECT_DOC_COUNT 122 Runtime Statistics (general)
CACHEABILITY_RULES 125 Cache Information
CACHED_DOC_COUNT 108 Cache Information
CACHED_DOC_SIZE 109 Cache Information
CLUSTERS 130 Cache Information
COMPRESSED_HITS 115 Runtime Statistics (timed)
COMPRESSED_MISSES 116 Runtime Statistics (timed)
ERRORS 127 Runtime Statistics (timed)
HITS 128 Runtime Statistics (timed)
HTTP_CLIENT_REQUESTS 132 Runtime Statistics (timed)
HTTP_REQUESTS 126 Runtime Statistics (timed)
INVALIDATED_OBJECTS 107 Runtime Statistics (timed)
INVALIDATION_REQUESTS 106 Runtime Statistics (timed)
MISSES 129 Runtime Statistics (timed))
OPEN_CONNECTIONS 103 Runtime Statistics (general)
PID 102 Cache Information
REFRESHES 114 Runtime Statistics (timed)
SESSION_COUNT 121 Runtime Statistics (general)
SITE_LIST 134 Site Information
TIME 101 Cache Information
URL_STATS 124 URL Statistics

The following sections describe each category:

Cache Information Groups

The cache information groups provide general information about caches.

Table B-7 lists the cache information groups and subgroups, the valid values that can be passed to the NAME attribute of the ENTRY element for the group, and a description of the attribute.

Table B-7 Cache Information Groups

GROUP Name ENTRY Name Description
TIME  
A group that returns information about how long the cache has been running and how long since the statistics were reset

CACHE_START_TIME The time when the cache was last started

STATS_RESET_TIME The time when the statistics were last reset

LAST_MODIFIED_TIME The time when the cache was last modified
PID  
A group that returns information about the cache server ID

CACHE_PROCESS The process ID of the cache server
CACHED_DOC_COUNT  
A group that returns information about objects in the cache

CURRENT The total number of objects currently stored in the cache. CURRENT returns the aggregate of the owned and on-demand objects.
OWNED  
A subgroup of CACHED_DOC_COUNT

CURRENT The number of owned objects currently stored in the cache
DEMAND  
A subgroup of CACHED_DOC_COUNT

CURRENT The number of on-demand objects currently stored in the cache
CACHED_DOC_SIZE  
A group that returns information about the size of objects in the cache

CURRENT The size, in bytes, of the contents of the objects currently stored in the cache. CURRENT returns the aggregate of the owned and on-demand objects.
OWNED  
A subgroup of CACHED_DOC_SIZE

CURRENT The size, in bytes, of the content of the owned objects currently stored in the cache
DEMAND  
A subgroup of CACHED_DOC_SIZE

CURRENT The size, in bytes, of the content of the on-demand objects currently stored in the cache
CACHE_INFO  
A group that returns information about the size of the cache

MAX_CACHE_SIZE The maximum cache size as configured in the Resource Limits page

ACTION_LIMIT_SIZE Ninety-five percent of the maximum cache size (MAX_CACHE_SIZE)

ALLOCATED_MEM_SIZE The physical size of the cache, which is the amount of data memory allocated by OracleAS Web Cache for cache storage and operation

VERSION The version of OracleAS Web Cache
CACHEABILITY_RULES  
A group that returns information about the configured caching rules
RULE  
A subgroup of CACHEABILITY_RULES

INDEX An index generated by OracleAS Web Cache that represents the caching rule

EXPRESSION_TYPE The type of expression specified for the caching rule. Valid values are:

PATH_PREFIX: A prefix for the path

FILE_EXT: A file extension

REGEXP: A regular expression


REGULAR_EXPRESSION The expression specified for the caching rule. This entry may be deprecated in a future release. It is replaced by the entry EXPRESSION.

EXPRESSION The expression specified for the caching rule. This entry means the same as the entry REGULAR_EXPRESSION, which may be deprecated in a future release.

SITE_MASK A string that is used to map multiple site names to one or more origin servers
CLUSTERS  
A group that returns information about OracleAS Web Cache clusters

MEMBER_COUNT The number of caches that are members of the cluster

NAME The cluster name

CONFIG_CHECKSUM A value generated by OracleAS Web Cache that indicates the version of the configuration file

Runtime Statistics Groups

OracleAS Web Cache collects two types of runtime statistics:

  • General runtime statistics

  • Timed runtime statistics

Table B-8 lists the general runtime statistics groups and subgroups, the valid values that can be passed to the NAME attribute of the ENTRY element for the group, and a description of the attribute.

Table B-8 General Runtime Statistics Groups

GROUP Name PARAM Name ENTRY Name Description
OPEN_CONNECTIONS none  
A group that returns information about the connections to the cache


CURRENT The number of current open connections to the cache


MAX_SINCE_START The maximum number of connections to the cache that have been open at the same time since the cache was last started
APP_SRVR_REQUEST_BACKLOG none  
A group that returns information about origin server request backlogs


CURRENT The current number of requests that the origin server is processing for OracleAS Web Cache


MAX_SINCE_START The maximum number of requests that the origin server has processed for OracleAS Web Cache since the cache was last started
SESSION_COUNT  
 
A group that returns information about the open sessions

SITE_NAMEFoot 1   
Host name and port number of the site (host_name:port)

SITE_IDFootref 1  
An index generated by OracleAS Web Cache as an identifier for the site

 
CURRENT The number of current open sessions

 
MAX_SINCE_START The maximum number of sessions that OracleAS Web Cache had open at any one time since it was last started
CACHE_REDIRECT_DOC_COUNT  
 
A group that returns information about object redirection

SITE_NAMEFootref 1  
Host name and port number of the site (host_name:port)

SITE_IDFootref 1  
An index generated by OracleAS Web Cache as an identifier for the site

 
CURRENT The number of objects currently redirected by OracleAS Web Cache

 
MAX_SINCE_START The maximum number of objects redirected by OracleAS Web Cache since the cache was last started

Footnote 1 If you specify a PARAM of SITE_NAME or SITE_ID, OracleAS Web Cache returns the statistics for that site. If you do not specify a PARAM of SITE_NAME or SITE_ID, OracleAS Web Cache returns statistics for all sites. A SITE_ID of 0 indicates unnamed sites.

Table B-9 lists the timed runtime statistics groups, subgroups, and parameters, and a description of each group or subgroup.

The following strings are valid values for the NAME attribute of the ENTRY element of all of the timed statistics listed in Table B-9:

  • RECENT_PER_SEC: The average number for each second during the last ten seconds

  • MAX_PER_SEC_SINCE_START: The maximum number for each second since the cache was last restarted

  • AVG_PER_SEC_SINCE_START: The average number for each second since the cache was last restarted

  • TOTAL_SINCE_START: The total number since the cache was last restarted

  • TOTAL_SINCE_RESET: The total number since the statistics were reset

  • AVG_PER_SEC_SINCE_RESET: The average since the statistics were reset

Table B-9 Timed Runtime Statistics Groups

Group Name PARAM Name Description
BYTES_SAVED_WITH_COMPRESSION  
The ENTRY elements for this group return statistics about the additional bytes that would be sent to browsers if in-cache compression is turned off.

SITE_NAMEFoot 1  Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
BYTES_SERVED  
The ENTRY elements for this group return statistics about the bytes served by the cache.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
HTTP_CLIENT_REQUESTS  
The ENTRY elements for this group return statistics about the browser and peer cache requests served by the cache. This does not include ESI requests.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
HTTP_REQUESTS  
The ENTRY elements for this group return statistics about the browser, peer cache, and ESI requests served by the cache.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
INVALIDATED_OBJECTS  
The ENTRY elements for this group return statistics about the invalidated objects.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
INVALIDATION_REQUESTS  
The ENTRY elements for this group return statistics about the invalidation requests submitted to the cache.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
HITS  
The ENTRY elements for this group return statistics about the browser requests resolved by objects stored in the cache.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.


SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
FRESH_HITS  
A subgroup of the group HITS

The ENTRY elements for this group return statistics about the browser requests resolved by valid, fresh objects stored in the cache.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.

FROM_OWNED_TO_CLIENT  
A subgroup of the group FRESH_HITS

The ENTRY elements for this group return statistics about browser requests resolved by owned objects in the cache.

FROM_OWNED_TO_PEER  
A subgroup of the group FRESH_HITS

The ENTRY elements for this group return statistics about browser requests resolved by retrieving owned objects from a peer cache.

FROM_DEMAND_TO_CLIENT  
A subgroup of the group FRESH_HITS

The ENTRY elements for this group return statistics about browser requests resolved by on-demand content.

STALE_HITS  
A subgroup of the group HITS

The ENTRY elements for this group return statistics about browser requests resolved by expired or invalidated content.

Every STALE_HITS element in this group returns the aggregate value of the corresponding STALE_HITS elements in the subgroups.

FROM_OWNED_TO_CLIENT  
A subgroup of the group STALE_HITS

The ENTRY elements for this group return statistics about browser requests resolved by expired or invalidated owned content.

FROM_OWNED_TO_PEER  
A subgroup of the group STALE_HITS

The ENTRY elements for this group return statistics about browser requests resolved by expired or invalidated owned objects from a peer cache.

FROM_DEMAND_TO_CLIENT  
A subgroup of the group STALE_HITS

The ENTRY elements for this group return statistics about browser requests resolved by expired or invalidated on-demand content.

MISSES  
The ENTRY elements for this group return statistics about cacheable and non-cacheable misses. Misses are browser requests for objects that were not served by the cache.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.


SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
CACHEABLE_MISSES  
A subgroup of the group MISSES

The ENTRY elements for this group return statistics about cacheable misses.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.

FROM_OWNED_TO_CLIENT  
A subgroup of the group CACHEABLE_MISSES

The ENTRY elements for this group return statistics about browser requests for cacheable owned objects that were not served by the cache.

FROM_OWNED_TO_PEER  
A subgroup of the group CACHEABLE_MISSES

The ENTRY elements for this group return statistics about browser requests for objects owned by a peer cache that were not served by the cache.

FROM_DEMAND_TO_CLIENT  
A subgroup of the group CACHEABLE_MISSES

The ENTRY elements for this group return statistics about cacheable misses for on-demand content.

NONCACHEABLE_MISSES  
A subgroup of the group MISSES

The ENTRY elements for this group return statistics about non-cacheable misses. Non-cacheable misses are requests for objects that should not be cached.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.

FROM_OWNED_TO_CLIENT  
A subgroup of the group NONCACHEABLE_MISSES

The ENTRY elements for this group return statistics about non-cacheable misses for owned objects.

FROM_OWNED_TO_PEER  
A subgroup of the group NONCACHEABLE_MISSES

The ENTRY elements for this group return statistics about non-cacheable misses for owned objects not served to a peer cache.

FROM_DEMAND_TO_CLIENT  
A subgroup of the group NONCACHEABLE_MISSES

The ENTRY elements for this group return statistics about non-cacheable misses for on-demand objects that were not served by the cache.

OWNER_UNKNOWN  
A subgroup of the group NONCACHEABLE_MISSES

The ENTRY elements for this group return statistics about non-cacheable misses for which the owner is unknown.

REFRESHES

 

 
The ENTRY elements for this group return statistics about the objects that the cache has refreshed from the application Web servers.

SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)

SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
COMPRESSED_HITS  
The ENTRY elements for this group return statistics about the total requests served from the cache in compressed form.
 
SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)
 
SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
COMPRESSED_MISSES  
The ENTRY elements for this group return statistics about the total requests retrieved from the application Web servers and compressed by the cache before serving.
 
SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)
 
SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
ERRORS  
The ENTRY elements for this group return statistics about the error pages that the cache has served.

Every ENTRY element in this group returns the aggregate value of the corresponding ENTRY elements in the subgroups.

 
SITE_NAMEFootref 1 Host name and port number of the site (host_name:port)
 
SITE_IDFootref 1 An index generated by OracleAS Web Cache as an identifier for the site
NETWORK_ERRORS  
A subgroup of the group ERRORS

The ENTRY elements for this group return statistics about the error pages that the cache has served to Web browsers due to a network error.

SITE_BUSY_ERRORS  
A subgroup of the group ERRORS

The ENTRY elements for this group return statistics about the error pages that the cache has served to Web browsers due to a network or busy Web site error.

PARTIAL_PAGE_ERRORS  
A subgroup of the group ERRORS

The ENTRY elements for this group return the sum of ESI_UNCAUGHT_EXCEPTIONS and ESI_DEFAULT_FRAGMENT_SERVED.

ESI_UNCAUGHT_EXCEPTIONS  
A subgroup of the group ERRORS

The ENTRY elements for this group return statistics about the number of errors that the cache has returned to a client when an uncaught exception occurred in the cache during ESI parsing or processing.

ESI_DEFAULT_FRAGMENT_SERVED  
A subgroup of the group ERRORS

The ENTRY elements for this group return statistics about the error pages that the cache has served when an uncaught exception occurs in the application during ESI parsing or processing.


Footnote 1 If you specify a PARAM of SITE_NAME or SITE_ID, OracleAS Web Cache returns the statistics for that site. If you do not specify a PARAM of SITE_NAME or SITE_ID, OracleAS Web Cache returns statistics for all sites. A SITE_ID of 0 indicates unnamed sites.

Site Information Groups

The site information groups provide multiple-site support. You can request statistics for all sites or for a specific site. OracleAS Web Cache first checks to see if this group exists in the request message, then requests the statistics, ensuring that the correct statistics are returned to multiple-site environments.

Table B-10 lists the site information groups, the valid values that can be passed to the NAME attribute of the ENTRY element for the groups, and a description of the attribute.

Table B-10 Site Information Groups

GROUP Name ENTRY Name Description
SITE_LIST  
A group that returns information about the sites hosted by OracleAS Web Cache
SITE  
A subgroup of SITE_LIST. It returns information about a Web site hosted by OracleAS Web Cache.
 
NAME Host name and port number of the site (host_name:port)
 
ID An index generated by OracleAS Web Cache as an identifier of the site

You can obtain the following general runtime statistics for all sites or for a specific site:

  • SESSION_COUNT

  • CACHE_REDIRECT_DOC_COUNT

See Table B-8 for information about the statistics and the parameters used to obtain the statistics for sites.

You can obtain the following timed runtime statistics for all sites or for a specific site:

  • BYTES_SAVED_WITH_COMPRESSION

  • BYTES_SERVED

  • COMPRESSED_HITS

  • COMPRESSED_MISSES

  • ERRORS

  • HITS

  • HTTP_CLIENT_REQUESTS

  • HTTP_REQUESTS

  • INVALIDATED_OBJECTS

  • INVALIDATION_REQUESTS

  • MISSES

  • REFRESHES

See Table B-9 for information about the statistics and the parameters used to obtain the statistics for sites.

Origin Server Statistics Group

The origin server statistics group provides information and statistics about the origin server.

Origin server statistics can contain multiple SERVER subgroups. Each SERVER group contains origin server configuration information as well as origin server runtime statistics. The runtime statistics are similar in format to cache runtime statistics.

Table B-11 lists the origin server statistics group and subgroups, the valid values that can be passed to the NAME attribute of the ENTRY element for the group, and a description of the attribute.

Table B-11 Origin Server Statistics Group

GROUP Name ENTRY Name Description
APP_SRVR_STATS  
A group that returns information about origin servers
SERVER  
A subgroup of the group APP_SRVR_STATS
 
HOSTNAME The name of the host on which the origin server is running
 
PORT The port number from which the origin server is listening for OracleAS Web Cache requests
 
IS_PROXY Whether or not the origin server is a proxy server. Possible values are YES and NO.
 
STATUS The status of the origin server
 
SECONDS_SINCE_STATUS_CHANGE The number of seconds since the status of the origin server changed
REQUESTS  
A subgroup of the group SERVER
 
RECENT_PER_SECOND The average number of requests served for each second during the last ten seconds
 
MAX_PER_SEC_SINCE_START The maximum number of requests served for each second since the origin server was last restarted
 
AVG_PER_SEC_SINCE_START The average number of requests served for each second since the origin server was last restarted
 
TOTAL_SINCE_START The total number of requests served since the origin server was last restarted.
 
TOTAL_SINCE_RESET The total number of requests served since the statistics were reset
 
AVG_PER_SEC_SINCE_RESET The average number of requests served for each second since the statistics were reset
LATENCY  
A subgroup of the group SERVER
 
RECENT_PER_SECOND The average number of seconds, in the last 10-second interval, used to process requests for OracleAS Web Cache
 
MAX_PER_SEC_SINCE_START The maximum number of seconds used to process requests for OracleAS Web Cache since the origin server was last restarted
 
AVG_PER_SEC_SINCE_START The average number of seconds used to process requests for OracleAS Web Cache since the origin server was last restarted
 
TOTAL_SINCE_START The total number of seconds used to process requests for OracleAS Web Cache since the origin server was last restarted
 
TOTAL_SINCE_RESET The total number of seconds used to process requests for OracleAS Web Cache since the statistics were reset
 
AVG_PER_SEC_SINCE_RESET The average number of seconds used to process requests for OracleAS Web Cache since the statistics were reset
ACTIVE_SESSIONS  
A subgroup of the group SERVER
 
CURRENT The number of current active connections from OracleAS Web Cache that the origin server has open
 
MAX_SINCE_START The maximum number of active connections from OracleAS Web Cache that the origin server has had open at any one time
OPEN_CONNECTIONS  
A subgroup of the group SERVER
 
CURRENT The number of current connections from OracleAS Web Cache that the origin server has open
 
MAX_SINCE_START The maximum number of connections from OracleAS Web Cache that the origin server has had open at any one time

URL Statistics Group

The URL statistics group returns the URLs of the most requested objects. You specify the number of URLs to be returned. This information is returned in the Popular Requests page of Application Server Control Console (Web Cache Home page > Performance tab > All Sites section > Popular Requests link) or OracleAS Web Cache Manager (Monitoring > Popular Requests).

The URL statistics group can contain multiple URL subgroups.

Table B-12 lists the URL statistics group and subgroups, the valid values that can be passed to the NAME attribute of the ENTRY element or PARAM for the group, and a description of the attribute.

Table B-12 URL Statistics Group

GROUP Name PARAM Name ENTRY Name Description
URL_STATS  
 
A group that returns information, such as the URL, about the most requested objects.
 
OBJECT_COUNT  
The number of URLs to be returned. You must supply a number to the VALUE attribute.
 
TYPE  
The type of requests. Possible values are:

CACHED: Returns the URLs of the most popular cached objects

NOT_CACHED: Returns the URLs of the most popular objects that were not cached

ALL: Returns the most popular objects, cached and not cached

URL  
 
A subgroup of the group URL_STATS
 
 
NAME The URL of the request
 
 
SCORE An internally generated, relative value that indicates the popularity of a URL
 
 
CACHABILITYRULE The index to the caching rule that triggered the object to be cached
 
 
SIZE The size, in bytes, of the object represented by the URL. If the size is unknown (because the object is currently in the process of being returned), the value -1 is returned.
 
 
TYPE Whether the object is cached or not cached. Possible values are:

CACHED

NOT_CACHED

CACHED_VALIDATION_NEEDED

 
 
REASON The reason that the object is cached or not cached. Possible reasons are listed in Table B-13.
 
 
COMPRESSED Whether or not the object was compressed when it was served. Possible values are YES and NO.

Cache Reasons Group

The cache reasons group provides information about why an object is cached or not cached.

Table B-13 lists the cache reasons group, the valid values that can be passed to the NAME attribute of the ENTRY element for the group, and a description of the attribute.

Table B-13 Cache Reasons Group

GROUP Name ENTRY Name Description
CACHE_REASONS  
A group that returns information about why an object is cached or not cached
 
REASON The reason that the object is cached or not cached. Possible values are:
  • BY_SURROGATE_CONTROL_HEADER: Cached or not cached because of information in the Surrogate-Control response header.

  • BY_REFERENCE_TTL: Cached because of the nonzero value of the reference TTL (time-to-live parameters) specified in the ESI tag.

  • BY_VALIDATION: Cached because of the ETag response header.

  • BY_X_ORACLE_HEADERS: Cached or not cached because of information in the X-Oracle-Cache response header.

  • BY_CACHING_RULE: Cached or not cached because of the caching rule.

  • BY_HTTP_HEADERS: Cached or not cached because of information in the HTTP header.

  • BY_PRESEEDING: Cached because the objects were preseeded for use by end-user performance monitoring. See "Configuring End-User Performance Monitoring" for information about end-user performance monitoring.

  • NC_NO_DIRECTIVE: Not cached because no directive or rule has stated that the object should be cached.

  • NC_SIZE_TOO_LARGE: Not cached because the object is larger than the size specified as the maximum cached object size. See "Cached Object Size Limit" for more information about the maximum cached object size.

  • NC_COOKIE_MISMATCH: Not cached because the response contains a cookie that is not present in the request or that has a different value than the same cookie in the request.


Query Methods

To retrieve OracleAS Web Cache statistics, you send a POST message to the OracleAS Web Cache statistics port. By default, the statistics port is 4002.

Each request must include the authentication header as part of the message. The following example shows the authentication header:

POST / HTTP/1.0
Authorization: BASIC < base64 encoding of administrator:administrator_password>
content-length: #bytes

In the example, #bytes refers to the size, in bytes, of the body of the statistics request.

The body of a statistics request must begin with the following:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS DTD_VERSION="1.0">

If the request XML message contains the ENTRY element, the response will return the value of that ENTRY. If the message contains the GROUP element without any children, it will return all ENTRY values for the group as well as all ENTRY values for the subgroup.

Statistics Examples

The following examples illustrate XML request and response messages.

Example B-6 shows the request and response messages that retrieve the URLs of 50 of the most popular objects in the cache. It uses the numeric ID, 124, for the GROUP NAME, rather than the string, URL_STATS.

Example B-6 Obtaining the URLs of the Most Popular Objects

The following code shows the request:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS DTD_VERSION="1.0">
<GROUP NAME="124"/> 
   <!-- NAME="URL_STATS" -->
   <PARAM NAME="OBJECT_COUNT" VALUE="50"/>
</WCSTATS>

The following code shows the response:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd"/>

<WCSTATS  DTD_VERSION="1.0">
<GROUP NAME="124">
 <PARAM NAME="OBJECT_COUNT" VALUE="50"/>
 <GROUP NAME="URL"/>
   <ENTRY NAME="NAME" VALUE="/sitename:port/admin/images/headers/maglass.gif/"/>
   <ENTRY NAME="SCORE" VALUE="99"/>
   <ENTRY NAME="CACHABILITYRULE" VALUE="1"/>
   <ENTRY NAME="SIZE" VALUE="1037"/>
   <ENTRY NAME="TYPE" VALUE="CACHED"/> 
   <ENTRY NAME="REASON" VALUE="BY_CACHING_RULE"/> 
   <ENTRY NAME="COMPRESSED" VALUE="NO"/> 
 </GROUP>
.
.
.
</GROUP>
</WCSTATS>

Example B-7 shows the request and response messages that retrieve the number of objects recently invalidated for each second. The example uses numeric ID, 107, for the GROUP NAME, rather than the string, INVALIDATED_OBJECTS.

Example B-7 Obtaining the Number of Invalidated Objects

The following code shows the request:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS  DTD_VERSION="1.0">
<GROUP NAME="107"> <!-- NAME="INVALIDATED_OBJECTS" -->
  <ENTRY NAME="RECENT_PER_SEC"/>
</GROUP>
</WCSTATS>

The following code shows the response:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS  DTD_VERSION="1.0">
<GROUP NAME="107" NAME="INVALIDATED_OBJECTS">
 <ENTRY NAME="RECENT_PER_SEC" VALUE="50"/>
</GROUP>
</WCSTATS>

Example B-8 shows the request and response messages that retrieve all statistics for the group INVALIDATED_OBJECTS. The example uses numeric ID, 107, for the GROUP NAME, rather than the string, INVALIDATED_OBJECTS. Because the request contains only the GROUP element, OracleAS Web Cache returns all statistics in the group.

Example B-8 Obtaining All Statistics for Invalidated Objects

The following code shows the request:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS DTD_VERSION="1.0">
<GROUP NAME="107"/>
</WCSTATS>

The following code shows the response:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS DTD_VERSION="1.0">
<GROUP NAME="107"> <!-- INVALIDATED_OBJECTS -->
 <ENTRY NAME="RECENT_PER_SEC" VALUE="50"/>
 <ENTRY NAME="MAX_SINCE_START" VALUE="100"/>
 <ENTRY NAME="AVG_SINCE_START" VALUE="36"/>
 <ENTRY NAME="TOTAL_SINCE_START" VALUE="1000"/>
 <ENTRY NAME="TOTAL_SINCE_RESET" VALUE="500"/>
 <ENTRY NAME="AVG_SINCE_RESET" VALUE="30"/>
</GROUP>
</WCSTATS>

Example B-9 shows the request and response messages that retrieve TOTAL_SINCE_START statistics for the group HTTP_REQUESTS for a specific site and for all unnamed sites.

Example B-9 Obtaining Statistics for a Specific Site and Unnamed Sites

The following code shows the request:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS  DTD_VERSION="1.0">
<
<GROUP NAME="HTTP_REQUESTS">
  <!-- Get statistics for one site. -->
  <PARAM NAME="SITE_NAME" VALUE="myhost:7787"/>
  <ENTRY NAME="TOTAL_SINCE_START"/>
</GROUP>
<GROUP NAME="HTTP_REQUESTS">
  <!-- Get statistics for unnamed sites. -->
  <PARAM NAME="SITE_NAME" VALUE="0"/>
  <ENTRY NAME="TOTAL_SINCE_START"/>
</GROUP>

</WCSTATS>

The following code shows the response:

<?xml version="1.0"?>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">

<WCSTATS  DTD_VERSION="1.0">
<GROUP NAME="126" NAME="HTTP_REQUESTS">
  <PARAM NAME="SITE_NAME" VALUE="myhost:7787"/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE="123"/>
</GROUP>

<GROUP NAME="126" NAME="HTTP_REQUESTS">
  <PARAM NAME="SITE_NAME" VALUE="0"/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE="678"/>
</GROUP>

</WCSTATS>

Complete Statistics Template

Example B-10 shows a complete template for all elements in the statistics DTD.

Example B-10 Complete Statistics Template

<?xml version="1.0"?>

<WCSTATS>
<!DOCTYPE WCSTATS SYSTEM "internal:///wcstats.dtd">
<WCSTATS DTD_VERSION="1.0">

<!-- Cache_Information -->
<GROUP NAME="TIME">
  <ENTRY NAME="CACHE_START_TIME" VALUE=""/>
  <ENTRY NAME="STATS_RESET_TIME" VALUE=""/>
  <ENTRY NAME="LAST_MODIFIED_TIME" VALUE=""/>
</GROUP>

<GROUP NAME="PID">
  <ENTRY NAME="CACHE_PROCESS" VALUE=""/> 
</GROUP>

<GROUP NAME="CACHED_DOC_COUNT">
  <ENTRY NAME="CURRENT" VALUE=""/>
  <GROUP NAME="OWNED">
    <ENTRY NAME="CURRENT" VALUE=""/>
  </GROUP>
  <GROUP NAME="DEMAND">
    <ENTRY NAME="CURRENT" VALUE=""/>
  </GROUP>
</GROUP>

<GROUP NAME="CACHED_DOC_SIZE">
  <ENTRY NAME="CURRENT" VALUE=""/>
  <GROUP NAME="OWNED">
    <ENTRY NAME="CURRENT" VALUE=""/>
  </GROUP>
  <GROUP NAME="DEMAND">
    <ENTRY NAME="CURRENT" VALUE=""/>
  </GROUP>
</GROUP>

<GROUP NAME="CACHE_INFO">
  <ENTRY NAME="MAX_CACHE_SIZE" VALUE=""/>
  <ENTRY NAME="ACTION_LIMIT_SIZE" VALUE=""/>
  <ENTRY NAME="ALLOCATED_MEM_SIZE" VALUE=""/>
  <ENTRY NAME="VERSION" VALUE=""/>
</GROUP>

<GROUP NAME="CACHEABILITY_RULES">
  <GROUP NAME="RULE">
    <ENTRY NAME="INDEX" VALUE=""/>
    <ENTRY NAME="EXPRESSION_TYPE" VALUE="PATH_PREFIX|FILE_EXT|REGEXP"/>
    <ENTRY NAME="EXPRESSION" VALUE=""/>
    <ENTRY NAME="SITE_MASK" VALUE=""/>
  </GROUP>
   .
   .
   .
</GROUP>

<GROUP NAME="CLUSTERS">
  <ENTRY NAME="MEMBER_COUNT" VALUE=""/>
  <ENTRY NAME="NAME" VALUE=""/>
  <ENTRY NAME="CONFIG_CHECKSUM" VALUE=""/>
</GROUP>

<!-- General Runtime Statistics -->
<GROUP NAME="OPEN_CONNECTIONS">
  <ENTRY NAME="CURRENT" VALUE=""/>
  <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
</GROUP>

<GROUP NAME="APP_SRVR_REQUEST_BACKLOG">
  <ENTRY NAME="CURRENT" VALUE=""/>
  <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
</GROUP>

<GROUP NAME="SESSION_COUNT">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="CURRENT" VALUE=""/>
  <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
</GROUP>

<GROUP NAME="CACHE_REDIRECT_DOC_COUNT">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="CURRENT" VALUE=""/>
  <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
</GROUP>

<!-- Timed Runtime Statistics -->
<GROUP NAME="BYTES_SERVED">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="HTTP_REQUESTS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="HTTP_CLIENT_REQUESTS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="BYTES_SAVED_WITH_COMPRESSION">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="INVALIDATION_REQUESTS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="INVALIDATED_OBJECTS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="HITS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

  <GROUP NAME="FRESH_HITS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

    <GROUP NAME="FROM_OWNED_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>  
    <GROUP NAME="FROM_OWNED_TO_PEER">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_DEMAND_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
  </GROUP>
  <GROUP NAME="STALE_HITS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

    <GROUP NAME="FROM_OWNED_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_OWNED_TO_PEER ">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_DEMAND_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>  
  </GROUP>
</GROUP>

<GROUP NAME="MISSES">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

  <GROUP NAME="CACHEABLE_MISSES">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

    <GROUP NAME="FROM_OWNED_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_OWNED_TO_PEER">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>  
    <GROUP NAME="FROM_DEMAND_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
  </GROUP>
  <GROUP NAME="NONCACHEABLE_MISSES">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

    <GROUP NAME="FROM_OWNED_TO_PEER">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_OWNED_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="FROM_DEMAND_TO_CLIENT">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>  
    <GROUP NAME="OWNER_UNKNOWN">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>      
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
  </GROUP>
</GROUP>

<GROUP NAME="REFRESHES">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="COMPRESSED_HITS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="COMPRESSED_MISSES">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
</GROUP>

<GROUP NAME="ERRORS">
  <PARAM NAME="SITE" VALUE="hostname:port"/>
  <PARAM NAME="ID" VALUE="n"/>
  <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
  <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
  <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
  <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>

  <GROUP NAME="NETWORK_ERRORS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
  </GROUP>
  <GROUP NAME="SITE_BUSY_ERRORS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
  </GROUP>
  <GROUP NAME="PARTIAL_PAGE_ERRORS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
  </GROUP>
  <GROUP NAME="ESI_UNCAUGHT_EXCEPTIONS">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
  </GROUP>
  <GROUP NAME="ESI_DEFAULT_FRAGMENT_SERVED">
    <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
    <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
    <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>
    <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
  </GROUP>
</GROUP>

<!-- Multisite Statistics -->
<GROUP NAME="SITE_LIST">
  <GROUP NAME="SITE">
    <ENTRY NAME="NAME" VALUE=""/>
    <ENTRY NAME="ID" VALUE=""/>
  </GROUP>
</GROUP>


<!-- Origin Server Statistics-->
<GROUP NAME="APP_SRVR_STATS">
  <GROUP NAME="SERVER">
    <ENTRY NAME="HOSTNAME" VALUE="">
    <ENTRY NAME="PORT" VALUE="">
    <ENTRY NAME="IS_PROXY" VALUE="">
    <ENTRY NAME="STATUS" VALUE="">
    <ENTRY NAME="SECONDS_SINCE_STATUS_CHANGE" VALUE=""/>
  
    <GROUP NAME="REQUESTS">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>        
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="LATENCY">
      <ENTRY NAME="RECENT_PER_SEC" VALUE=""/>
      <ENTRY NAME="MAX_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="AVG_PER_SEC_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_START" VALUE=""/>
      <ENTRY NAME="TOTAL_SINCE_RESET" VALUE=""/>        
      <ENTRY NAME="AVG_PER_SEC_SINCE_RESET" VALUE=""/>
    </GROUP>
    <GROUP NAME="ACTIVE_SESSIONS">
      <ENTRY NAME="CURRENT" VALUE=""/>
      <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
    </GROUP>
    <GROUP NAME="OPEN_CONNECTIONS">
      <ENTRY NAME="CURRENT" VALUE=""/>
      <ENTRY NAME="MAX_SINCE_START" VALUE=""/>
    </GROUP>
  </GROUP>
  ...
</GROUP>

<!-- URL Statistics -->
<GROUP NAME="URL_STATS">
  <PARAM NAME="TYPE="CACHED|NOT_CACHED|ALL"/>
  <PARAM NAME="OBJECT_COUNT" VALUE="n"/>
  <GROUP NAME="URL">
    <ENTRY NAME="NAME" VALUE=""/>
    <ENTRY NAME="SCORE" VALUE=""/>
    <ENTRY NAME="CACHABILITYRULE" VALUE=""/>
    <ENTRY NAME="SIZE" VALUE=""/>
    <ENTRY NAME="TYPE" VALUE=""/>
    <ENTRY NAME="REASON" VALUE=""/>
    <ENTRY NAME="COMPRESSED" VALUE=""/>
  </GROUP>
  .
  .
  .
</GROUP>

<!-- Cache Reason Statistics -->
<GROUP NAME="CACHE_REASON">
  <ENTRY NAME="REASON" VALUE=""/>
</GROUP>

</WCSTATS>