Hitachi

JP1 Version 11 JP1/Performance Management - Agent Option for Service Response Description, User's Guide and Reference


2.1.2 Measurement of Web transactions

When you obtain measurements of HTTP(S) services, PFM - Agent for Service Response enables you not only to measure a single set of a request and a response, but also to define and measure as a Web transaction a series of tasks consisting of multiple sets of an HTTP(S) request and a response. This makes it possible to measure not only Web servers, but also Web applications that require logon. PFM - Agent for Service Response can measure a Web transaction's response times down to thousandths of a second (3 decimal places).

The following figure provides an overview of measurement of a Web transaction.

Figure 2‒2: Overview of measurement of a Web transaction

[Figure]

At startup, PFM - Agent for Service Response's Probe Daemon reads the four files listed below. Measurement results for each measurement condition are output to a report file and then collected by Agent Collector at a specified interval.

When you measure a Web transaction, PFM - Agent for Service Response issues HTTP(S) requests according to the definition of the Web transaction, and measures data such as response times. The URL to be measured must be defined for each HTML frame. PFM - Agent for Service Response measures transactions by simulating a series of operations using a browser such as Internet Explorer. You can measure performance not only of the entire Web transaction, but also the following specific items:

The measurement result of the entire Web transaction is output as the measurement result. You can define a series of page transitions as scope and the measurement result includes the measurement result of each scope. For details about performance data as measurement results, see Web Transaction (PI_WT) and Web Transaction Overview (PI_WTO) in 10. Records.

You can use Web Recorder to create Web transaction files. An Internet Explorer window is called from Web Recorder, which defines the Web transaction by recording the browser operations (navigations) performed in that window.

Organization of this subsection

(1) Measurement of performance response for page transitions

You can measure the response performance for page transitions. To do this, you define as a scope a series (or range) of page transitions. You can define a maximum of 8 scopes. One range of page transitions defined as a scope may overlap another range. The following figure shows an example of scope definitions.

Figure 2‒3: Example of scope definitions

[Figure]

In this example, the following measurement items were defined for each scope:

As demonstrated in this example, you can measure the performance of each type of processing by defining scopes within a single Web transaction.

(2) Response determination

By defining response determination information, you can check the details of the HTML responses acquired from a defined URL and detect abnormalities at the measurement target.

If you want to treat some successful event in the HTTP protocol level as evidence of an error in the Web transaction monitoring, such as when the login window is redisplayed because login has failed, you define the response determination information and then check the details of the response. The following figure shows an example of response determination definitions.

Figure 2‒4: Example of response determination definitions (measurement of a Web transaction).

[Figure]

In this example, if the page after transition contains the word Invalid, login is determined to have failed. If this error is detected, measurement of the Web transaction is canceled.

(3) Acquisition of embedded resources

If you define acquisition of an embedded resource, you can acquire the embedded resource automatically during measurement. PFM - Agent for Service Response analyzes the HTML acquired during measurement, and obtains the resource specified by the values of a tag and an attribute name, as listed in the table below. If the response time is to include the acquisition time either for an embedded resource specified by a tag that is not an acquisition target for embedded resources, or for a resource embedded using a programming language such as JavaScript, then you must add the URL of that resource in the Web transaction definition.

Table 2‒2: Acquisition targets of embedded resources

Tag name

Attribute name

applet

code

body

background

embed

src

img

src

object

data

script

src

Note:

Tag and attribute names are not case sensitive.

(4) Support for dynamic session management

When PFM - Agent for Service Response conducts Web transaction monitoring, it can handle the dynamically changing HTTP requests so that PFM - Agent for Service Response can monitor the sites that manage the session using the session IDs.

Take the sites using the Web applications for example. These sites provide the log-in page using the form on the HTML. These sites assign the session IDs to its visitors when they log in to the sites and then identify its visitors by adding the session IDs to the requests.

To monitor these kind of sites, you must add the issued (obtained) session IDs to its requests thereafter.

The following figure shows an example of a site that manages sessions by dynamically issuing session IDs.

Figure 2‒5: Example of a site that dynamically manages sessions

[Figure]

Yet, if you send requests with the recorded session IDs by the Web Recorder, the Web server judges the requests to be sent with the invalid session IDs and returns the HTML with error messages such as Invalid Session ID (although error messages appear, the HTTP requests itself do succeed).

To monitor these kind of sites properly, you must obtain the session IDs while you conduct a measurement of Web transactions and issue the requests with the obtained session IDs.

PFM - Agent for Service Response provides the setting of variable strings and substitute strings in order to support the dynamic session management. You specify the location of the string to contain the session IDs as the variable strings. To monitor the sites with the dynamic session management, you must define the Web transaction to output the HTML files. To do so, select the Output the acquired HTML and HTTP header in a file check box on the Web Transaction Info page in the Set Web Transaction Conditions window, or specify the <HTML_OUT> tag and measure the transaction. This is because PFM - Agent for Service Response looks up the session IDs in the output HTML files. As for the substitute string, you specify the location of the session IDs in the obtained HTML files.

Note that the HTTP Cookies generated through the Web transaction measurement issue the requests according to its conditions. If the sites implement the dynamic session management using HTTP Cookies and you do not need to edit the values of the Cookies in order to measure properly, you do not have to define variable strings and substitute strings. If you edit the values of the HTTP Cookies, prepare the commands to generate the substitute string, specify the value of the Cookie as the variable string and specify the commands as the substitute string.

For details about the definitions for supporting dynamic session management, see 4.4.6 Defining settings for the dynamic session management.

(5) Setting of the Character set

You can specify the following character sets for the Web transaction measurement. You specify the character set in the Web transaction file.

The UTF-8 supports only Japanese and Chinese.The GB18030 supports only Chinese.

For details about setting, see 8.5 Web transaction files.

(6) URL encoded

The URL and the message body defined in the Web transaction file are URL encoded when issuing the requests, as listed in the table below.

Table 2‒3: URL encoding process

Target URL encoded

Target string

URL encoding process

URL

%xy#1

Not encoded

Alphanumeric characters

Not encoded

The following symbols:

; / ? : @ & = + $ , - _ . ! ~ * ' ( )

Not encoded

Characters not listed above

Encoded into three-character string in the format of %xy#1.

Message body#2

Space

It is encoded into +.

%xy #1

Not encoded

Alphanumeric characters

Not encoded

The following symbols:

; / ? : @ & = + $ , - _ . ! ~ * ' ( )

Not encoded

Characters not listed above

Each byte is encoded into %xy#1.

#1

x and y are the hex numbers with each one representing 4-bit.

#2

Only the messages are sent for the application/x-www-form-urlencoded form.

The substitute strings are replaced with the variable strings through the encoding process described in the above table. If you use the characters such as delimiter (/ or =) in the variable string, you must force these characters to be URL encoded in the URL. In this case, specify the <SUBSTITUTE_FORCE_URLENCODE> tag in the Web transaction file. For details about the <SUBSTITUTE_FORCE_URLENCODE> tag, see 8.5.2 Format and definition of the Web transaction measurement conditions.