4 Working With the Session Diagnostics Feature
Introduction to Session Diagnostics
When problems are identified, the session diagnostics feature offers a means to drill-down into RUEI's rich data structure and both assess the impact of the problem on your web site's visitors and web service clients, and obtain direct insight into possible causes.
Note:
In order to replay complete user sessions, session recording must be enabled. This is described in Controlling Replay Policies.
The Error Recording Facility
In addition to the information described above, RUEI also offers the opportunity to track exactly what error messages visitors to the monitored web site receive, and when. With this ability to recreate application failures, you can accurately and immediately eliminate annoying and problematic parts of your web pages.
Understanding Session Reporting
Information about user sessions is reported within the session diagnostics feature as user records. It is important to understand that information is reported using a resolution of five minutes. The properties associated with it, such as IP address and user ID, are effectively snapshots taken at the end of the 5-minute period. While the value of these properties can potentially change during the 5-minute period, it is their values at the end of the period that are reported.
Using Session Diagnostics
To locate the diagnostics information you require, do the following:
Example 4-1 Masking Sensitive Information Within the Session Diagnostics Feature
As mentioned earlier, the availability of information (such as header or URL information) within the session diagnostics feature can be controlled through the appropriate HTTP protocol item masking facility. This is described in Defining Collector Data Retention Policies.
Example 4-2 Web Services in Session Diagnostics
If you have defined a web service which overlaps in the same session as an application, it is reported as part of the session page information. An example is shown in Figure 4-7.
Figure 4-7 Example Web Service Call in Session Diagnostics
A web service call can only reported as part of a page, and not as individual page.
Example 4-3 User IDs Within User Flow Diagnostics
Within the user flow diagnostics group, two additional user IDs are reported. These are explained in Table 4-2.
Table 4-2 User IDs within User Flows
User ID | Description |
---|---|
|
The step transition did not result in a page view (for example, the user became idle), or where an error occurred on an outside or abort page. |
|
There was a burst of reported errors in a short period of time. |
Replaying User Sessions
When available, you can click the Replay icon beside a viewed page to replay the complete user session. This provides the opportunity to review each page viewed by the visitor during the session, together with any reported error messages. An example is shown in Figure 4-8.
The replay details are shown in a new window which is the same size as the main window. If selected by clicking the Replay icon for a page within a selected user record, the displayed page history starts from the point of the selected page.
The controls below the page listing allow you to navigate through the page history. The Page information section indicates the currently highlighted page's loading satisfaction, whether it is key page, and whether it contains an error.
Reporting Page Events
If a viewed page contained HTTP form elements, these and the visitor replies are reported in the Page events panel. Unnamed elements are reported as "NO_NAME_number" (where number is incremented for each unnamed element). Hidden form elements are also reported. Be aware that the replies made by a visitor to form elements is derived from the request body of the next page in the session page view history. Therefore, if the visitor switched context to another page between the request and response pages, the user response cannot be extracted and reported.
The status bar at the bottom of Figure 4-8 provides information about the session user ID, each page's recorded timestamp, loading time, number of objects and (in the case of static pages) an indication that reported pages are retrieved from the live source (such as the application server).
Viewing Page Content
The HTTP content command button on the toolbar allows you to view the actual request and response content of the currently selected page. An example is shown in Figure 4-9.
External JavaScript files can also be viewed by clicking the link within the page content. The reported content of these files is retrieved from the live source (for example, an application server).
Viewing Static Page Content
If no Replay icon is available beside a page in the displayed viewing history, this indicates that the page's content is not available. This can be because the information is expired due to data storage constraints, or because the viewed page was a static page. In the case of the latter, you can still view the static page's content by highlighting the page immediately before or after the static page in the viewing history, and via this page, view the static page's content.
Be aware that the reported content for the objects on a static page is retrieved from the live source. Hence, if the live source is not available for any reason, the page's content may not be correctly reported. In addition, data masking and JavaScript execution rules are not applied to any page contents retrieved from the live source. The page contents are shown "as is". If a static page was cached at the client, an earlier complete page fetch for any session is used for the preview. Therefore, depending upon the configuration of the monitored web site, this may have been modified since the visitor actually viewed the page. For example, a page listing current stock market prices. When live source data is reported, this is indicated in the Replay status bar.
JavaScript Execution Within the Replay Viewer
Pages viewed by visitors can contain inline JavaScript code. The application definition facility allows you to specify how execution of this JavaScript code should be handled within the replay facility. This is fully described in Controlling JavaScript Replay Execution. In addition, be aware that suites (such as Siebel and PeopleSoft) have preconfigured JavaScript execution rules that optimize their reporting within the Replay viewer.
RIA-Based Applications
Applications that make use of a Rich Internet Application (RIA) framework (such as Ajax) may have reduced replay capability.
Exporting Session Pages to Microsoft Excel
You can export a summary of the pages within the currently selected session to Microsoft Excel. To do so, do the following:
The exported page view history and session summary can be used to compile sets of real-user sessions. For example, to be used as the basis for testing or performance analysis.
Example 4-4 Controlling Row Creation and Ordering
Be aware that the rows (and their order) that appear in the Microsoft Excel export are based on the currently selected Session Diagnostics dimensions template. This is described in Controlling Dimension Listing Within Session Diagnostics.
Exporting Full Session Information
In addition to viewing session information, you can also export complete session contents to external utilities for further analysis or integration with other data. For example, this offers the opportunity to use complete real-user sessions as the basis for test script generation. Test platforms, such as Oracle Application Testing Suite (ATS), can easily be configured to generate automated test scripts for an application's most commonly encountered usage scenarios.
In addition, this facility can also be used to support powerful root-cause analysis. Complete user session information can be provided to application or operations specialists to help identify unusual or difficult to isolate issues. Sensitive information within the exported data is masked according to the actions defined in the HTTP protocol item masking facility. This is described in Masking User Information.
To export session information, do the following:
Example 4-5 Important
In order for the session export files to be created correctly, you should ensure that:
-
The exported session is not older than the Full Session Replay (FSR) setting (as described in Defining Collector Data Retention Policies).
-
The URL prefix masking setting is specified as "Complete logging" (as described in Controlling Replay Policies).
In addition, it is recommended that you verify the exported content files (described in the following section) are present before attempting to import an exported RUEI session into an external utility.
Example 4-6 Understanding the Structure of the Exported Data
The exported session zip file contains the following files:
-
data.tab
: contains the direct (raw) hit information for the selected session extracted from the Collector log file. -
page.tab
: contains the direct (raw) page information for the selected session extracted from the Collector log file. -
content_
hitno
.tab
: contains the complete (raw) content information for the indicated hit. There is a file for each hit within thedata.tab
file that has content. For example, if the third and sixth hits had content available for them, two files would be created:content_3.tab
andcontent_6.tab
. An example of a hit file is shown in Figure 4-12.The first line within the file (in this case, 589 68 313 221) contains four integers that indicate respectively the length (in bytes) of the request header, the request body, the response header, and the response body. In addition, note how the user's password has been masked in the file.
Viewable versions of the files cited in the hit file are also available under the
content_viewer
directory. This means that data transferred with chunked encoding can be immediately viewed. The samehitno
as in thedata.tab
file is used in their file naming. -
index.html
: allows developers and other interested parties outside RUEI to view and analyze session details as they would appear within the Session diagnostics feature, with access to source, page and object details, and element identification.
Note:
The log files used as the basis for creating exported session files are also used internally by RUEI. The format and contents of these files is subject to change without notice.
Note:
Within Internet Explorer, depending on your security settings, you may receive a warning that ActiveX controls have been disabled when opening a session export file.
Controlling Dimension Listing Within Session Diagnostics
The values of specific page, action, and custom dimensions are displayed within the Session activity part of the Session Diagnostics window. If necessary, mouseover text is available for each reported value to view its associated dimension level. An example is shown in Figure 4-13.
Figure 4-13 Example Session Diagnostics Dimension Listing
System and User Templates
The specific dimensions, and their order, reported for applications and suites are controlled via templates. There are two kinds of template: system and user. System templates are provided with the product installation. The only modification that can be made to them is the order of the listed dimensions. System templates can only be modified by an Administrator, and any changes made to them will apply to all system users. User templates can be modified by individual users to meet their own requirements. Users must be authorized to access the Session Diagnostics before they can modify their templates.
Modifying Dimension Templates
To modify a dimension template, do the following:
Example 4-7 Understanding how Templates are Applied
Each page view reported by Session Diagnostics has an associated application type. This is used to automatically load the appropriate dimension template. Any changes you make to a user or system template are automatically applied to an open Session Diagnostics window.
Configuring Clickouts to External Tools
The URL diagnostics group (described in Problem Analysis Groups), the suite diagnostics groups (described in Suite URL Diagnostics for Problem Analysis), and Session Diagnostics (described in Introduction to Session Diagnostics) support clickout from selected functional URLs and certain dimensions to external diagnostics utilities. The supported external utilities are shown in Table 4-3.
Table 4-3 Clickout Options
Utility | Description |
---|---|
Depending on your installed Oracle Enterprise Manager middleware and application management packs, the following options can be used:
|
|
EBS |
Refers users to the server overview or user search facility within the EBS plug-in. Options:
|
Siebel |
Refers users to the server overview or user search facility within the Siebel plug-in. Options:
|
JD Edwards |
Refers users to the JD Edwards EnterpriseOne Server Manager Console, providing information on all user activity associated with the session user. Options:
To use this facility, the JSESSIONID cookie must be logged in RUEI as a plain cookie. To ensure this setting is correct:
|
Searches the Oracle Customer Services' web site (My Oracle Support) for relevant information about specific reported errors. For example, ORA-12154 or SBL-UIF-00271. Option:
Use of this facility requires a working My Oracle Support registration. Further information is available at the following location:
|
Footnote 2
An ECID is a request header used to track requests as they move through the Oracle Application Server architecture. It is especially useful for diagnostics purposes.
Configuring Clickout Functionality
To configure access from within RUEI to these utilities, do the following:
-
Click the Configuration tab, then General, then Advanced settings, and then Clickout settings. This option is only available to Administrators. Click Add new item or an existing external utility definition.
-
Use the Clickout tool menu to select the external utility whose interface you want to configure. The supported utilities are shown in Table 4-3.The other fields available within the dialog depend on the selected utility.
-
Use the Host field to specify how the selected external utility should be reached. This should not include the protocol scheme (such as
http://
). For example,your-em-instance.oracle.com
. -
Use the Port field to specify the required port number. Only one port number can be specified. A wildcard character (*) cannot be specified.
-
Use the Extensions entry field to specify the object file extensions for which clickout should be available. Use the Add button to specify additional extensions. You can also use the Also allow no extension check box to specify whether hits with no associated file extensions should have clickout availability.
-
Click the Advanced tab, and use the Protocol field to specify whether HTTP or HTTPS is used for connection to the selected utility. By default, HTTP is used.
-
Use the Regular expression and Replace fields to specify the parts of the URL passed to the external application that should be replaced. Further information on the use of regular expressions is available from Knowledge Base articles within the My Oracle Support web site. This is available at the following location:
https://support.oracle.com/CSP/ui/flash.html
When ready, click Save. Any changes made to these settings are applied immediately.
Application and Suite Configuration
For each required application, specify the functional URLs that support clickout. This is described in Controlling Reporting Within the Problem Analysis Group.
For Siebel suites the Enterprise name must be specified as part of a suite's configuration in order for clickout functionality to be available. This is described in Working With Suites.
The defined Enterprise name can be located by selecting the appropriate suite, then clicking the Advanced tab, and then the Enterprise Manager tab. An example is shown in Figure 4-15.
Access to Clickout Functionality
Clickout functionality for Data Browser items is available via the item's context menu. The exact options available to you depend on the Data Browser group, the selected dimension, and the defined clickout settings.
Monitoring Business Applications
The creation and monitoring of business application targets within Oracle Enterprise Manager offers Application Performance Management (APM) capabilities to maximize the performance and availability of your business-critical applications. These are managed targets that provide an intuitive representation of the relationship between your applications and business transactions and the underlying IT infrastructure. The RUEI-monitored components that comprise these business applications provide information across the enterprise, and facilitate central monitoring of their structure, status, availability, dependencies, and performance.
Footnote Legend
Footnote 1:The ECID is used to track requests as they move through the Oracle Fusion Middleware architecture. This is especially useful for diagnostic purposes.