ADC

Grouping records on attribute values

Statistical information such as the number of times a particular URL has been accessed overall and per client, and the total number of GET and POST requests per client can provide valuable insights into whether any of your resources need to be expanded to meet the demand or be optimized for delivery. To obtain such statistics, you must use an appropriate set of selector expressions, and then use the pattern parameter in the stat stream identifier command. The grouping is based on the pattern that is specified in the command. Grouping can be performed concurrently on the values of multiple expressions.

In the command-line interface, you can group the output by using patterns of your choice. In the configuration utility, the pattern depends on the choices you make when drilling down through the values of various selector expressions. For example, consider a selector that has the expressions HTTP.REQ.URL, CLIENT.IP.SRC, and HTTP.REQ.LB_VSERVER.NAME, in that order. The statistics home page displays icons for each of these expressions. If you click the icon for CLIENT.IP.SRC, the output is based on the patterns ?. The output displays statistics for each client IP address. If you click an IP address, the output is based on the patterns * <IP address> ? and ? <IP address> * where <IP address> is the IP address you selected. In the resulting output, if you click a URL, the pattern used is <URL> <IP address> ?.

To group the records on the values of selector expressions by using the command line interface

At the command prompt, enter the following command to group the records on the basis of a selector expression:

stat stream identifier <name> [<pattern> ...]

The following examples use a different pattern to demonstrate the effect of the pattern on the output of the stat stream identifier command. The selector expressions are HTTP.REQ.URL and HTTP.REQ.HEADER(“UserHeader”), in that order. The requests contain a custom header whose name is UserHeader. Note that in the examples, a given statistical value changes as determined by the grouping, but the sum total of the values for a given field remains the same.

Example 1

In the following command, the pattern used is ? ?. The appliance groups the output on the values collected for both selector expressions. The row headers consist of the expression values separated by a question mark (?). The row with the header /mysite/mypage1.html?Ed displays statistics for requests made by user Ed for the URL /mysite/mypage1.html.

Note:

You must ensure to type the following command with “\?” instead of “?”. For example, If selector uses an expression - client.ip.src and client.tcp.srcport. The Stat command to group the output on the values collected for the selector is ‘stat stream identifier myidentifier \? \? -fullValues’ as given below.

> stat stream identifier myidentifier ? ? -fullValues
Stream Session statistics
                                         Req                BandW
/mysite/mypage2.html?Grace                 1                 2553
/mysite/mypage1.html?Grace                 2                    4
/mysite/mypage1.html?Ed                    8                   16
/mysite/mypage2.html?Joe                   1                 2554
/mysite/mypage1.html?Joe                   5                   10
/mysite/?Joe                               1                    4

                                     RspTime                 Conn
/mysite/mypage2.html?Grace                 0                    0
/mysite/mypage1.html?Grace                 0                    0
/mysite/mypage1.html?Ed                    0                    0
/mysite/mypage2.html?Joe                   0                    0
/mysite/mypage1.html?Joe                   0                    0
/mysite/?Joe                               6                    0
 Done
<!--NeedCopy-->

Example 2

In the following command, the pattern used is * ?. The appliance groups the output on the values accumulated for the second expression HTTP.REQ.HEADER(“UserHeader”). The rows display statistics for all requests made by users Grace, Ed, and Joe.

Note:

Ensure to type the following command with “\?” instead of “?”.

> stat stream identifier myidentifier * ?
Stream Session statistics
                 Req    BandW  RspTime     Conn
Grace              3     2557        0        0
Ed                 8       16        0        0
Joe                7     2568        6        0
 Done
<!--NeedCopy-->

Example 3

In the following command, the pattern used is ? *, which is the default pattern. The output is grouped on the values collected for the first selector expression. Each row displays statistics for one URL.

Note:

Ensure to type the following command with “\?” instead of “?”.

> stat stream identifier myidentifier ? * -fullValues
Stream Session statistics
                                        Req                BandW
/mysite/mypage2.html                      2                 5107
/mysite/mypage1.html                     15                   30
/mysite/                                  1                    4

                                     RspTime                 Conn
/mysite/mypage2.html                       0                    0
/mysite/mypage1.html                       0                    0
/mysite/                                   6                    0
 Done
<!--NeedCopy-->

Example 4

In the following command, the pattern used is * *. The appliance displays one set of collective statistics for all the requests received, with no row title.

> stat stream identifier myidentifier * *
Stream Session statistics
                 Req    BandW  RspTime     Conn
                  18     5141        6        0
 Done
<!--NeedCopy-->

Example 5

In the following command, the pattern is /mysite/mypage1.html *. The appliance displays one set of collective statistics for all the requests received for the URL /mysite/mypage1.html, with no row title.

> stat stream identifier myidentifier /mysite/mypage1.html *
Stream Session statistics
                 Req    BandW  RspTime     Conn
                  15       30        0        0
 Done
<!--NeedCopy-->
Grouping records on attribute values