| < Day Day Up > |
|
Unlike in the full client, WebI does not display the duration information to end users. However, WebI administrators can access this and more via the Audit Log. For WebI users and BusinessObjects three-tier mode (ZABO) users, you can monitor response time issues in three ways:
Audit the log file.
Audit a database that captures activity using the freeware Audit universe.
Use the Auditor product.
All three are interrelated and must be explicitly enabled. All three approaches capture only activity that goes through the WebI midtier; therefore, no full-client activity is captured. Auditing is enabled via the BusinessObjects Services Administrator.
Tip | One can still capture full-client activity by creating a program with the BusinessObjects SDK and installing it on each full-client PC. |
The audit log captures activity in a text file using different event IDs to help you understand if it is the query execution that is a bottleneck or the report presentation. The audit log is useful for viewing recent, isolated incidents or interactively testing a benchmark query. However, as it is pure text, it is too cumbersome for debugging problems for a particular user or point in time.
As of version WebI version 2.6, you can launch Administrator as a desktop product. Alternatively and with older versions, you start it via the Notify icon from the Windows taskbar.
From the Notify icon, right-click to call the pop-up menu. Select Launch Administrator.
This starts a browser and a Java applet that lets you view and control the WebI server. From the menu bar, select View Log.
By default, user activity is not logged. To capture user activity, click the On button. The default is set to Log To File. Once enabled, user activity is captured in user.log and server activity is captured in sm.log. Unless you specify a different path, the default directory is C:\Program Files\Business Objects\Server\System 2.5\Bin\ on the WebI Cluster Manager, not on the individual nodes. Another log file, userdet.log, contains more detailed information such as the universes selected or the report refreshed. Information in this log file is not available through Administrator; however, you can view it with a text editor or the Audit universe.
To view user activity, click View Log. The initial log presented is System Activity. To switch to user activity, select the User Activity tab.
For each event, WebI records an ID, as described in Table 15-5. If you use the Audit universe, you do not need to be familiar with these IDs, as long names are stored in the database. WebI also records the Start Time, Duration in milliseconds, User, Session, Application ID, and an Error ID if applicable. Application IDs are listed in Table 15-6.
Event Type | Event Description |
---|---|
1 | Log into the repository |
2 | Failed logon |
3 | Log off from WebI. This event is not recorded when a user closes the browser without logging off |
4 | Get a list of inbox documents |
5 | Get a list of corporate documents |
6 | Get a list of universes to which the user has access |
7 | Send a document to users |
8 | Publish a document to a group |
9 | Save a document |
10 | Read inbox document |
11 | Read corporate document |
12 | Read personal document |
13 | Open the query panel |
17 | Login successful |
18 | Execute the query. The first time a user runs a query, event type 18 is generated without an event type 19 |
19 | Refresh document. Once a query has been run once with Event Type ID = 18, there is always a corresponding Event Type ID = 19 |
20 | Compute result after drill |
21 | List of values |
22 | Edit document |
23 | Get document generated by reporter |
24 | Get a Comma Separated Value (CSV) file, for downloading WebI documents into spreadsheets |
25 | Refresh document after a prompt |
26 | N/A |
27 | Get list of personal documents |
28 | Apply format |
29 | N/A |
30 | Open report from cache |
31 | Execute macro (VB) |
32 | Execute script (4.1) |
33 | Download non-WebI and non-BusinessObject document |
34 | BusinessObjects three-tier mode started |
35 | Delete inbox documents |
36 | Delete corporate documents |
37 | Delete personal documents |
38 | Delete scheduled documents |
39 | Upload non-BusinessObjects documents |
Application ID | Description |
---|---|
1 | Unknown application |
2 | WebI 2.5 |
3 | BOManager invoked by WebI |
4 | BusinessObjects full client |
5 | BOManager invoked by Broadcast Agent |
6 | Three-tier BusinessObjects or ZABO |
7 | WebI 2.7 |
The activity log shows a partial activity log. In viewing a production activity log, you may see events scrolling by. Click Pause to analyze a particular set of events. In the preceding screen, compare events 499 and 501, both with the Event Type ID of 19 to refresh a document. The first query (event 499) took 4,426 milliseconds to execute. The second query (event 501) took 2,013 milliseconds to execute, roughly half the time. Well, this was a controlled event, so I know the cause of the difference in response time: in the first case, Oracle was running on the same machine as the WebI server, slowing the system down. With the second event, WebI was the only process running on the server. In a production environment, it is much harder to determine differences in response time. Here, the difference was in seconds; in the real world, it’s the differences in minutes that can affect whether users are satisfied with the system or not.
With the audit universe, events are tracked in a relational database. There are several benefits to this approach. First, it is easier to analyze trends and sets of events, as you can create BusinessObjects or WebI reports. Second, a relational database can handle more transaction activity than a standard text file. Finally, the universe exposes meaningful event details. These details are captured in userdet.log but cannot be viewed via Administrator. Table 15-7 shows the classes and objects within the Audit universe.
Class Name | Object Name | Object Description |
---|---|---|
Session details | Event User | This is the user who generated the event. |
Session details | Event Session | This is the WebI session ID. It can be used to generate traces of the first and last event, and to break reports by the sessions a user generates. |
Session details | Session start time | The time when the first action in the session took place. |
Session details | Session end time | The time when the last action in the session took place. |
Event Detail | Event Object ID | The is the ID value of the object used in the event. In the case of a universe, or object, this is the ID in the repository. |
Event Detail | Event Trace Name | This is the text name that is used by the user—for example, a name of a universe, document, or object in a query. |
Event Detail | Event Trace Type Name | This is the type of trace item that is being traced—for example, whether the value in the Event Trace Name/ID is a universe, or the name of a document, or the number of lines returned by a query. |
Event Log | Event ID | This is the internal ID used to trace events. |
Event Log | Event Starttime | This is a date/time field holding the start time of the event. |
Event Log | Event Type Name | This is the type of the event—for example, to get the list of corporate docs, or to Edit a document. |
Event Log | Event Type ID | This is the numeric type of the event that appears within the WebI log file. |
Event Log | Event Duration | This is the duration of the event, in milliseconds. |
Event Log | Application Name | This is the application inside of WebI that generated the event. This can be WebI 2.5, or if the document is a BusinessObjects 5.0 Document, the BOManager. |
Event Log | Event Error ID | This will be used by Broadcast Agent to record the error codes. |
Event Log | Event Host | This is the WebI server that generated the event. |
Audit V2.5 Measures | Number of lines | |
Audit V2.5 Measures | Number of documents read | The number of documents that have been read. |
Audit V2.5 Measures | Number of users | The number of different user sessions that have been opened. |
Audit V2.5 Measures | Number of actions | The number of actions recorded. |
In order to use the audit universe, you must do the following:
Create a connection to the audit database in Supervisor; you need to decide where you want to create the audit tables, either in the existing repository domain or a separate database instance.
Modify the activity log settings to capture to a relational database.
Copy and modify the Audit universe.
Create reports or modify default reports.
A connection to an audit database must exist in the BusinessObjects repository for WebI to access it. Initially, the database will be empty. WebI creates the tables when you first enable capturing to a database. (Refer to Chapter 12, “Connections,” for more information on how to create a secure connection.) Once this is done, follow these steps:
From the WebI Administrator, select the View Log screen. Ensure that User Activity Log is set to On. Click Log To Database. Administrator will ask you to enter a General Supervisor user ID and password. Enter the Supervisor Login name and Password.
Click OK to close the Login window.
Use the Audit Database Connection drop-down box to select the newly created connection that will hold the audit tables.
Click Apply to accept the changes.
The Audit universe provides the semantic layer to access the information in the newly created audit database.
To install the Audit universe, copy it from the Freeware directory on the installation CDs to your Universe folder.
Launch Designer and select File | Open | Audit.unv.
In Designer, select File | Parameters to modify the default connection to point to the Audit connection.
I recommend making two changes to this universe. First, the universe contains a description of the Event Type but not the numeric Type_ID, useful for sorting and selection purposes. In the Event Log class, insert Event Type ID as follows:
If you wish to aggregate duration times, modify the Event Duration object to include a SUM aggregate. Also, if you wish to see seconds rather than milliseconds, divide by 1,000:
SUM(OBJ_A_EVENT_LOG.A_EVLOG_N_DURATION) / 1000
In the same Freeware directory on the installation CDs, BusinessObjects provides some sample WebI reports that use the Audit universe. You can also create your own reports, in either WebI or the BusinessObjects full client.
The following sample report shows how logging to a database provides more detailed information than the audit log. Under the columns Event Trace Type Name and Event Trace Name, you now can see the individual reports, universe, and objects associated with each event. With the audit log, this information is not easily available, as such details are stored in a separate detail log file. The audit universe is a valuable tool not only in monitoring response time issues, but also in identifying popular and/or seldom-used objects.
The next graph shows how you can analyze query execution times for benchmark queries over different points in time.
Auditor is a separate product but uses the same activity database to track user activity. In fact, the steps from the preceding two sections are preinstallation tasks for Auditor. However, Auditor is much more than a tracking database. Auditor contains four universes, about 50 reports with varying levels of detail, and key indicators organized into the following categories:
User Information, such as number of users, most active users, users who never log out correctly, user profiles
Document Management, 10 Least Downloaded documents, document size, average refresh time
Universe Management, most popular universe, most popular objects, number of classes and objects in each
Broadcast Agent
System Information
While the freeware universes managero and Audit correspond loosely with the Auditor universe Universe Domain Analysis: Universe and System Information: Activity, Auditor provides two additional universes for which there are no alternatives: Broadcast Agent Analysis and Repository Analysis: Security. While you could build your own universe with security information from the repository in a similar fashion to managerO, this gets highly complex. Also, the Auditor universes will span multiple sources of information to deliver more meaningful reports. For example, the Repository Analysis: Security universe looks at both username information (stored in the security domain) and number of logins (stored in the activity/usage database).
For companies with enterprise-wide deployments, Auditor is ideal for optimizing and understanding the deployment. The two main limitations of Auditor are these:
Auditor cannot incorporate full-client activity.
For companies that have multiple WebI servers, Auditor can monitor only the one main server and nodes, as this generates the usage logs; merging multiple usage logs from multiple WebI cluster managers into one activity database is a manual task outside of Auditor. The vendor plans to improve this in a future version.
| < Day Day Up > |
|