CA eHealth BT Studio Administration Guide r6.
This documentation and any related computer software help programs (hereinafter referred to as the “Documentation”) is for the end user’s informational purposes only and is subject to change or withdrawal by CA at any time. This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in part, without the prior written consent of CA.
Contact Technical Support For online technical assistance and a complete list of locations, primary service hours, and telephone numbers, contact Technical Support at http://ca.com/support.
Contents Chapter 1: The BT Studio Tool Set 13 BT Studio .................................................................................... 13 Application Response ......................................................................... 14 BT Marker .................................................................................... 14 Applications .................................................................................. 15 Default Applications and Servers.......................................
Chapter 4: Set Up the Recording Agent 41 Enable Recording for the AR Agent ............................................................. 41 Requirements for the BT Recording Agent ...................................................... 42 Install the BT Recording Agent ................................................................ 43 Record Terminal Server Applications ........................................................... 44 Define EventLogSetting for the BT Recording Agent ........................
Add an Executable to a New Application .................................................... 74 Add an Executable to an Application........................................................ 75 Add a Hostname and Port to a New Server ................................................. 76 Add a Hostname and Port to a Server ...................................................... 77 Edit an Application Definition .............................................................. 78 Edit a Server Definition..............
Regular Expressions ..................................................................... 116 Parameter Substitutions .................................................................. 117 Case Insensitivity ........................................................................ 119 Comments .............................................................................. 119 Transaction Definitions ....................................................................... 120 Event Specifications ..............
Outlook Read Message Event Action ....................................................... 147 Outlook SelectionChange Event Action .................................................... 147 Outlook Start Event Action ............................................................... 148 Outlook Stop Event Action ................................................................ 148 Outlook SubmitMessage Event Action .....................................................
Process Resource Type ................................................................... 186 Session Resource Type ................................................................... 187 Web Resource Type ...................................................................... 188 Windows Resource Type .................................................................. 188 Resource Definitions ......................................................................... 189 Resource Definition for a Web Browser .
Server Properties: URL Substrings ........................................................ 229 Server Properties: Details ................................................................ 231 eHealth System Connection Parameters ................................................... 231 Select an Application to Download ........................................................ 232 Select Application ........................................................................ 232 Select Server .......................
U ....................................................................................... 263 W .......................................................................................
Chapter 1: The BT Studio Tool Set Application Response allows you to measure actual, observed response time from the end user’s point of view. In reports, it can show an average response time for a monitored application, with total response time divided into client time, network time, and server time. This allows you to determine whether performance problems originate from the client, the network, or the server.
Application Response rule set. You can also use functions of BT Studio to download AR configuration and to upload new rules to eHealth. The BT Studio tool set consists of the following components: Recording Agent BT Marker BT Studio Application Response Application Response is a software solution that focuses on measuring actual, observed response time from the end user's point of view.
Applications Applications An application is a software product that you use for a specific purpose or to perform a set of related tasks. For example, you might use an e-mail application to send and receive electronic mail, or a Web application to search a database. You can use Application Response to monitor average response time for an application, or to monitor the response times for specific transactions performed using an application.
Recording Agent If you are using the default servers, the default server name appears at the end of the response path name. In the example, the server name is "DefaultExchange". (If you disable default constraints and an application does not have associated server activity, "No-Server" appears instead of a server name.
About Rules and Rule Sets A transaction can consist of one or more events. An event is the basic unit of transaction activity recognized by Application Response.
Module Sets and the Application Hierarchy { Text="New ->Record..." } event "2-of-2" Windows StatusMessage { Text="New employee record created." } } A rule set is a group of rules used to monitor a particular application. Use BT Studio to develop a rule set for each application for which you want to monitor transaction response time.
About Servers commands. (Do this after defining transactions and modules in application rule sets and after discovering response paths in eHealth.) For details, refer to the command usage descriptions, or enter the following in the address field of your Web browser, where ehealth is the eHealth Web server name: http://ehealth/help/files/reports/general/crtAndMngAppHier.
Default Servers but some activity will satisfy only the primary rule set or the alternate rule set, and some activity will satisfy both rule sets. In reports, Application Response shows response data gathered using both rule sets, allowing you to analyze application response time from different points of view.
About the Event Log File Client Module name name An application path yellow- Outlook- Read-Default-Exchange- AP Application Server name name The maximum length of a response path name is 64 characters. If a path name exceeds 64 characters, eHealth generates an error and does not include that response time data in reports. When creating names for applications, modules, and servers, choose names that are 15 characters or less.
Measure Response Time EventLogFile registry setting. To change EventLogFile for the AR agent, use the Configure Agent function of the eHealth Web interface. To change EventLogFile for the BT Recording agent, use regedit to navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Firstsense\Firstsense and change its value. Important! Be careful when using regedit to change registry settings. If you are not familiar with regedit, contact Technical Support before attempting it.
Rule Development Process the individual events do not generally add up to the overall elapsed time for a transaction. To account for the entire duration of a transaction, you must provide for the inter-event gaps when computing a transaction's response time breakdown. In general, every event has a duration that contains the same five components as a transaction: Client Processing Time. Elapsed time spent processing at the application client.
Determine the Transactions to Monitor Determine the Transactions to Monitor Before using the BT Studio tool set to develop application rule sets, do the following: 1. Gather information on which transactions to monitor. 2. Consult with application managers (or the people who will be using reports to monitor transaction response times) to determine which transactions they want to monitor and any other reporting requirements they may have. 3.
Monitor Multiple Application Versions Monitor Multiple Application Versions When you develop rules for an application, you specify the particular events that characterize each transaction. If your users use different versions of an application and/or different versions of an operating system, the specific events of a transaction may differ. For example, screen titles or button titles may change from one version to the next, or the workflow to perform a particular task may change.
Upgrade Monitored Applications Upgrade Monitored Applications Whenever you upgrade a monitored application or its operating system, you need to make sure that the existing application rules will correctly recognize transactions for the new version. If you write transaction rules that include object IDs, it is likely that the transaction rules will not work for an application upgrade.
Update Application Rule Sets 5. b. Filter events to hide those in which you are uninterested. c. Customize columns as desired. In the rules pane, do the following: a. Display the rule set that you want to modify, and make sure that the application is enabled. b. Check the application's resource definitions, and update them if needed. c. Add or update transaction definitions as needed to recognize new or existing transactions. 6. Check the syntax of the updated rules. 7.
Chapter 2: Install BT Studio and BT Marker The BT Studio installation program installs BT Studio, BT Marker, and related files. Run the installation program on a Windows system where you plan to develop rule sets for applications. This system is referred to as the BT Studio system. To install BT Studio and BT Marker 1. Check installation requirements. 2. Install the software on a Windows system, or install it on a terminal server. 3. License the software.
Installation Instructions Components Requirements Operating System Any of the following: Microsoft Windows NT 4.0 Workstation or Windows NT 4.
Install BT Studio on a Terminal Server If you are upgrading BT Studio from a previous version, you must use the BT Studio installation program to remove the old version before installing the new version. (Instructions are included in the following procedure.) To install BT Studio and BT Marker 1. Download the BT Studio installation package: 2. Log in to the eHealth Web interface. 3. On the Systems & Apps page, click Application Response in the left pane. 4. Click Download. 5.
Licensing Instructions Studio on terminal servers by executing the BT Studio installation program directly.) To install BT Studio on a terminal server 1. Download the BT Studio installation package: 2. From the terminal server system, log in to the eHealth Web interface. 3. On the Systems & Apps page, click Application Response in the left pane. 4. Click Download. 5. Click the link to download BT Studio. 6. In the File Download dialog box, click Save. Place BTStudio.install.
Licensing Instructions program retains BTStudio.lic in the BTStudio directory, so that it is still available for the new version of BT Studio. To obtain a license key for BT Studio: 1. Start BT Studio by double-clicking the BT Studio desktop icon or selecting Start, Programs, BT Studio. A BT Studio License Error window should appear to alert you that the application cannot be run without a valid license. 2. Press Ctrl+C to copy the contents of the field and click OK. 3.
Licensing Instructions 34 BTStudio Administration Guide
Chapter 3: Generate an Event Log File After you install BT Studio, you are ready to generate an event log file. To do this, you use the target application (the application whose performance you want to monitor) to perform transactions. The recording agent stores information about all application activity in the event log file. You will later use the event log file when using BT Studio to develop rules to recognize the desired transactions.
Record Events and Annotate the Log Perform the transaction in different ways. Be sure to perform the transaction using all methods that users are likely to use. (For example, add a record using menu commands, and add a record by importing data from a file.) This will help you to identify important events relating to the transaction, regardless of the method used.
Record Events and Annotate the Log Double-click btmarker.exe in the BTStudio directory on the BT Studio system or in the directory to which you copied it on the client system. If the application to monitor resides on the BT Studio system, start BT Studio and select Tools > Run BT Marker from the menu bar. The BT Marker dialog box appears. 4. If BT Marker is not installed on the client system, use the Switch Agent function to connect to the recording agent: 5.
Transfer the Event Log File Transfer the Event Log File After generating an event log file and stopping the recording of events, you must transfer the event log file from its current location to a directory on the BT Studio system (the system where BT Studio resides). Hint: If you will be developing rules for several applications or different versions of one application, create a separate working directory for each one (for example, directories named OutlookEvents and SAPevents, or EmpMgtV1 and EmpMgtV2).
Open an Event Log 3. e. On the Agent Properties page, click Configure Agent. f. Click Export Agent Files. g. On the Export Agent Files dialog box, do the following: h. Specify a target directory. i. Select the Export check box for Recording File. j. Click OK. Copy the event log file to the target directory on the BT Studio system. You may want to rename the event log to reflect the application whose activity it records (for example, eventsOutlook.btl).
Open an Event Log 40 BTStudio Administration Guide
Chapter 4: Set Up the Recording Agent Before using BT Studio to define rule sets, you must record the application activity occurring on a client system (the computer where the application client software resides). You record this activity using a recording agent. As soon as you set up the recording agent on the client system, it immediately begins to record all application activity in the event log file.
Requirements for the BT Recording Agent To enable recording for the AR agent 1. Access the Agent Properties page: a. Log in to the eHealth Web interface using the admin user account. b. On the Systems & Apps page, click Application Response in the left frame. c. Click Agents. d. In the agent list, click the agent name. 2. If you will be recording events for a terminal server application (such as one managed using Citrix), define EventLogSetting to filter the application activity that is recorded.
Install the BT Recording Agent Component Requirements Operating system Any of the following: Microsoft Windows 95, OEM1, OEM 2 Microsoft Windows 98 Microsoft Windows NT 4.0 Workstation or Windows NT 4.
Record Terminal Server Applications If you have already installed the AR agent, you do not need to install the BT Recording agent. Instead, enable recording for the AR agent. To install the BT Recording agent 1. On the system where you installed BT Studio, navigate to the root BT Studio directory (such as C:\ehealth\BTStudio) and locate the RecAgent.exe file. 2. Copy RecAgent.exe to the target system. 3.
Record Terminal Server Applications type of recording agent you are using: the AR agent with recording enabled, or the BT Recording agent. Define EventLogSetting for the BT Recording Agent Use the following procedure when you want the BT Recording agent to record activity for terminal server applications that originate only from specified users or systems, or to otherwise limit the data recorded in the event log. Caution: Be careful when using regedit to change registry settings.
Stop Event Recording For example, to indicate that you want to monitor application activity for users green, brown, and yellow, specify the following value: session:green,brown,yellow 5. Click OK. When you start event recording, the AR agent records activity generated only by the specified users or systems. EventLogSetting Values You can control the amount of information stored in the event log file by specifying a filter for the recording agent.
Stop Event Recording Stop Recording for the AR Agent Use this procedure to stop the recording of events by the AR agent. Note: After performing the final task of your last transaction, wait about one minute before you stop recording for the AR agent. This ensures that the AR agent finishes recording all events related to the transaction. To stop recording 1. Log in to the eHealth Web interface using the admin user account. 2. On the Systems & Apps page, click Application Response in the left frame. 3.
Stop Event Recording 5. Double-click Application Response Agent Proxy. The Application Response Agent Proxy Properties dialog appears, displaying the General page. 6. For Service status, click Stop. 7. For Startup type, select Disabled. 8. Click OK. Stop the Agent on Windows 2003 To stop the BT Recording agent on a Windows 2003 system, you can use Add/Remove Programs to uninstall it, or use the following procedure.
Remove the BT Recording Agent Stop the Agent on Windows NT To stop the BT Recording agent on a Windows NT system, you can use Add/Remove Programs to uninstall it, or use the following procedure. When you stop the agent, it no longer records application activity on the target system. To stop the BT Recording agent on Windows NT 1. From the desktop of the client system, select Start, Settings, Control Panel. 2. Double-click Services. 3. Click Application Response Agent Proxy. 4. Click Stop. 5.
Remove the BT Recording Agent 2. 3. a. Log in to the eHealth Web interface. b. On the Systems & Apps tab, click Application Response. c. Click Download. d. Download the Application Response (AR) Agent Publisher. Generate an uninstall program for the BT Recording agent, as follows: a. Double-click ARAgentPublisher.exe to start it. b. In the Welcome window, select Generate an Uninstall program for existing AR Agents and click Next. c. In the Warning dialog box, click OK. d.
Chapter 5: Develop Rule Sets BT Studio provides a work environment to help you develop a set of rules that Application Response uses to recognize the transactions to monitor. Some of the rule definition steps are iterative: you must perform some steps repeatedly until finished with that task, before proceeding to the next step. To define a rule set for an application, follow these steps: 1. Start BT Studio. 2. Open the event log file. 3. Configure applications and servers. 4.
Start BT Studio Start BT Studio To start BT Studio, select Start, Programs, BT Studio or double-click the BT Studio desktop icon. The main BT Studio window appears. The window has three panes: The top pane is the events pane, where you view events recorded in an event log file. The middle pane is the rules pane, where you view and edit application rule sets. The bottom pane is the results pane, where you see the results of testing rule sets.
Enable an Application 3. Complete the eHealth System Connection Parameters dialog and click Connect. BT Studio displays a list of applications defined in Application Response (through the eHealth Web interface). 4. Select the application whose rules you want to download, and click OK. If the application already exists in BT Studio, BT Studio downloads the rules for that application. The application rules from eHealth replace the application rules in BT Studio.
Filter Events 3. In the Open dialog box, use the Look In field to navigate to the directory containing the desired event log file. 4. Select the file name or type it in the File name field. 5. Click Open. 6. Events recorded in the log file appear in the events pane of the BT Studio window. Use the divider bar between the events pane and the rules pane to expand the events pane. 7. Take a few moments to examine the information displayed in the events pane. Each event is described on one line.
Filter Events To specify the events to display in the events pane, you can do the following: Filter events. Filter out a value. Remove a column filter. Remove a single filter for a column. Remove all filters. Note: Currently, BT Studio does not provide a way to save or preserve your filter criteria. If you exit BT Studio and restart it, you must reset your filter criteria. To filter events 1. Open an event log file in BT Studio. 2. In the events pane, right-click a column title. 3.
Customize the Events and Results Pane To remove a column filter 1. In the events pane, right-click the column where the filter is applied. 2. Select Remove Column Filter from the shortcut menu. BT Studio removes all filters defined for that column. For example, if you had filtered out Start and Stop events from the Action column and you select Remove Column Filter, BT Studio restores both Start events and Stop events to the events pane. To remove a single filter for that column 1.
Customize the Events and Results Pane To change columns 1. Right-click anywhere in the events pane or the results pane and select Customize Columns from the shortcut menu (o select Tools, Customize Columns). 2. The Visible column of the Customize Columns dialog box indicates which columns are displayed in the appropriate pane. The dialog box lists the columns in the order in which they appear. 3. Change the columns as desired. To hide a column, deselect it. To display a column, select it.
Search the Event Log File Text Time URL User Window Class Window Title Columns in the Results Pane You can use the Customize Columns function to hide or show the following information in the Transaction tab of the results pane: Application Bytes Received Bytes Sent Client (time in seconds) Constraint Elapsed (time in seconds) Failure Module Network (time in seconds) Reported (time in seconds) Round Trips Server (time in seconds) Thi
Define Rules for an Application 4. 5. Specify the value to search for in the chosen column. (By default, BT Studio displays the current value of the selected column and row.) You can also specify the following: Match whole word only Match case Direction: Up or Down Column (to change the column to search) Click Find Next to locate the next occurrence of that value in the event log file. To search for event types 1. Scroll or use Find in Column to locate an event type. 2.
Copy Event Values into Rules To display and enable a rule set 1. At the top of the BT Studio window, click the arrow to display the list of defined applications. This list displays only defined applications. To define rules for a new application, you must first define the application, and then repeat this procedure. 2. Select the desired application from the list. 3. Check the title of the BT Studio window. It should reflect the name of the application rule set that you want to modify and test.
Insert Comments in Rules 2. Select Copy from the shortcut menu. 3. In the rules pane, right-click at the point within a rule where you want to insert the value. 4. From the shortcut menu, select Paste. 5. The events pane and the rules pane support the use of basic editing commands, such as Ctrl+C to copy, Ctrl+V to paste, Ctrl+Z to undo, and Ctrl+X to cut. You can also use the Cut, Copy, and Paste buttons of the BT Studio toolbar.
Use Templates to Define Rules To create an event specification based on an event 1. In the rules pane, place the cursor where you want the new event specification to appear in the rule set. 2. In the events pane, select the event that you want to use as a basis for the new event specification. 3. Right-click the event and select Create Event from the shortcut menu.
Check Syntax While working on a rule set, you may want to print a hardcopy to analyze the rules or find logical errors. To print a rule set 1. Display the rule set in the rules pane. 2. Select File, Print or click Print. 3. In the Print dialog box that appears, enter the appropriate values and click OK. Check Syntax After you have defined a rule set, check its syntax for accuracy. To check the syntax of a rule set 1. In the results pane, click the Syntax tab. 2.
Use Breakpoints When Testing Rules To test defined rules against events 1. If you have not already done so, open the event log file and display the rule set to test. 2. In BT Studio, select Tools, Start or click Start. At any time, you can click Pause to temporarily pause the testing (and click Start to restart it), or click Stop to stop testing. 3. BT Studio analyzes all events in the event log file and attempts to recognize transactions as defined by the rule set.
Recognize Events as Parts of Transactions While you are developing the rule set and testing it against events, you may want to use breakpoints to do the following: Test the rule set against part of the event log. Check the state of transaction recognition at intermediate points in the event sequence. You may want to define several breakpoints in the events pane. You can then test the rule set against events from the beginning of the event log to a break point, or from one breakpoint to the next.
Transactions with Constraints Recognized Events tab. In this way, you can use the Transactions tab to see a list of complete transactions that have been recognized, and the Recognized Events tab to see events recognized for incomplete transactions. This capability can be useful when debugging rules. To see events as they are recognized 1. If you have not already done so, open the event log file and display the rule set to test. 2. In the results pane, click the Recognized Events tab. 3.
Save Changes to Rule Sets Save Changes to Rule Sets After making changes to a rule set, save your changes. To save changes to rules 1. Click anywhere in the rules pane. 2. Select Configuration, Save or click Save. BT Studio saves changes to the rule set (for the selected application) in the name.Rules.ard file. 3. When you have finished updating application rules, update Application Response with the new data.
Chapter 6: Configure Applications and Servers BT Studio provides a work environment to help you develop a set of rules that Application Response (AR) uses to recognize the transactions to monitor. To use BT Studio to develop rule sets, you must define the applications and servers for the monitored applications. The definition of these applications and servers is called configuration.
Download AR Configuration into BT Studio If you have not yet defined applications and servers for Application Response, you can use the Connection Manager to define them based on information in an event log file. If you have not yet defined applications and servers for Application Response and you want to use the default application rule sets as a starting point, you can use default applications and servers.
Use the Connection Manager Hint: Use Download Configuration when you want to download application and server definitions and application rule sets. Use Download Rules when you already have the application servers and definitions defined for BT Studio, and you only need to download application rule sets. 3. In the eHealth System Hostname field, enter the hostname or IP address of the eHealth Web server. 4.
Use the Connection Manager The default application definitions do not meet your needs; you need to define an application for monitoring. You want to add an application executable name to an existing application definition. You want a specific server name to appear in the response path name on reports (instead of the default server name). An application uses multiple servers and you want to track the performance of each server individually.
Use the Connection Manager The Connection Manager and Applications Sometimes it is difficult to determine the name of the executable program (or programs) used by an application. The Connection Manager identifies application executable names for you. You can use the Connection Manager to do the following: Add an executable program to the resource definition of a defined application. Create a new application and include the identified executable program in its resource definition.
Use the Connection Manager Add an Executable to a New Application When you use the Connection Manager to add an executable name to a new application, BT Studio automatically creates a default rule set for the application and adds the selected executable to the require section of the application's resource definitions.
Use the Connection Manager Add an Executable to an Application When you use the Connection Manager to add an executable name to a defined application, BT Studio automatically adds the selected executable to the require section of the application's resource definitions. This assumes that the require section of the application's resource definition includes a parameterized resource, using the form resource Process { ExecutableName=$(Application Executable) }.
Use the Connection Manager Add a Hostname and Port to a New Server You can use the Connection Manager to identify the hostname and port that a particular server uses, and use a function of the Connection Manager to create a new server and associate that hostname and port with it. To add a hostname and port to a new server 1. In the Connection Manager, right-click the name of a hostname or port that is not connected to a server.
Use the Connection Manager example, you can specify myWeb1 and myWeb2 to combine the traffic for all URLs that include those strings. 6. Click Submit and Close. BT Studio defines the server, adding the selected hostname and port to the server definition. In the Connection Manager, the server symbol and server name appear on the same line as the hostname and port.
Use the Connection Manager This ensures that Application Response monitors connections to the specified server, and so can calculate network time and server time, in addition to client time. On reports, the server name appears in the response path name. Edit an Application Definition While you are working in the Connection Manager, you can use a function to change an application's name or description or to enable or disable it. To edit an application definition 1.
Use the Connection Manager 3. 4. From this window, do any of the following: Change the server name and description. Set port redirection for the server. Add hostnames and ports to the server definition. Specify URL substrings for a Web server. Click Submit and Close. Combine Connection Manager Symbols The symbols in the first three columns of the Connection Manager are significant; use them to determine whether you have all of the pieces in place to properly monitor an application.
Use the Connection Manager Use the Connection Manager to achieve any of these symbol combinations, as appropriate. Any other symbol combination indicates that Application Response does not yet have all information required to monitor a specific application executable. The Application Symbol The application symbol (on a line of the Connection Manager) indicates that the specified executable is assigned to a defined application.
Use Default Applications and Servers The Application and Connection Symbols The application and connection symbols together (on a line of the Connection Manager) indicate that the event log contains activity for the specified executable, and that executable is assigned to the defined application. The lack of the server symbol indicates that the specified hostname and port are not assigned to a defined server, so a default server definition will be used to track network and server response time.
Configuration Files Application Response provides a set of default applications and servers (defined in the configuration files) that allow you to monitor average response time almost immediately. To monitor an application, you use a function of the eHealth Web interface to enable the desired application. You do not need to define servers; Application Response uses the default server definitions for that application.
Configuration Menu information into BT Studio, BT Studio downloads those files into memory. If desired, you can use the Configuration menu commands to save configuration files with different names, using the format name.Config.ard, name.Rules.ard, and name.DefRules.ard. All three files must use the same value for name, and they must use the appropriate file type extensions: .Config.ard, .Rules.ard, and .DefRules.ard.
Alternative Configuration Methods If you have defined applications and servers in Application Response but you do not have network access to the eHealth Web server from the BT Studio system, import AR configuration from eHealth. When you cannot import or download Application Response configuration information or when you want to define additional servers to monitor, create servers based on event log data. When all other methods are not feasible, you can define applications and servers manually.
Alternative Configuration Methods necessary, copy the files to a diskette and transfer them to the BT Studio system. Config.ard DefRules.ard Rules.ard 2. Import the configuration data into BT Studio, as follows: a. Start BT Studio. b. Select Configuration, Open. c. Specify the Config.ard file in the directory in which the AR configuration files reside. Note: In addition to Config.ard, the directory must contain the remaining configuration files: Rules.ard and DefRules.ard files. d. Click OK.
Alternative Configuration Methods 3. In the events pane, locate a value in the Server column that is a resource of the application to monitor and for which a server definition does not already exist. 4. Right-click the server value and select Create Server from the shortcut menu. 5. In the New Server dialog, select the appropriate server type and click OK. 6. On the General tab, specify a unique name for the new server (15 characters or less) and a description of the server, if desired. 7.
Alternative Configuration Methods displays a list of currently defined applications. If the application for which you want to develop rules (the target application) is not listed here, you must define it. To define an application manually 1. From the BT Studio main window, select View, Applications. 2. In the Applications window, click New. 3. In the New Application dialog box, select the appropriate application type from the list and click OK. BT Studio displays the Application Properties window. 4.
Alternative Configuration Methods 6. On the Details tab, click Uses Port Redirection if the server is enabled for redirection, allowing the server to redirect the client to use another port if the original port is in use. 7. On the Hostnames, Ports tab, enter the hostname and port for the server. If the server system has multiple hostnames (for example, because it has two or more network interface cards), click to add more hostnames or ports for this server. 8.
Chapter 7: Update Rules in Application Response After you define new rule sets and test them, you must update Application Response with the new rules. You can do this in two ways: From BT Studio, upload the new rules into eHealth. Use this method to update a single rule set or when you are currently working in the BT Studio environment. From the eHealth Web interface, import rules from BT Studio.
Import Rule Sets into Application Response Caution: As a precaution, back up AR configuration data before updating Application Response with new rules or other configuration information. To upload rules from BT Studio 1. In the rules pane of the BT Studio main window, display the rule set to upload. 2. From the menu bar, select Tools, Upload Rules. BT Studio displays the eHealth System Connection Parameters dialog 3. In the eHealth System Hostname field, enter the hostname of the eHealth Web server.
Update Configuration for Application Response 6. Specify the directory where the new version of the rules file resides and click OK. Application Response displays a list of applications whose rule sets are defined in the new version of the rules file. 7. If the rule set to import is not yet defined in Application Response (indicated by New in the Import column), add it as follows: 8. In the Import Application Rulesets window, click New next to the new application name. 9.
Update Configuration for Application Response To update AR configuration data in eHealth 1. Log in to the eHealth Web interface using the admin user account. 2. On the Systems & Apps page, click Application Response. 3. Use Application Response functions to do the following: Add or update application definitions. Add or update server definitions. Enable or disable applications for monitoring.
Chapter 8: Monitor Transactions Based on Keystrokes Application Response is designed to use windowing activity and other types of typical application activity to recognize transactions and measure their response times. For example, Application Response can detect when a user presses a key on the keyboard, and it can identify non-printing characters, such as Enter and Ctrl. (In the application rule, you define these events using the Windows KeyPress event action.
Enable the AR Agent to Monitor Individual Keystrokes the Agent Transaction Viewer (ATV). Take appropriate steps to ensure that these functions are available only to authorized users. The keystroke version of the AR agent cannot be used to monitor applications with command line interfaces, applications that run within a command prompt window, Windows Explorer, or Telnet. (You may, however, use the keystroke version of the AR agent to monitor the version of Telnet that is available with Windows NT 4.
Develop Transaction Rules Based on Keystrokes c. At the warning message, click OK. d. On the Software License Agreement screen, read the agreement and click Yes. e. On the Edit Controller Information screen, complete the fields and click Next. (Click Help for assistance.) f. On the Options for Agent Install screen, complete the fields and click Next. (Click Help for assistance.) g. On the Agent Extensions screen, select Monitor All Keystrokes and click Next. h.
Define Resources to Monitor Transactions Based on Keystrokes 5. Stop the recording of events. 6. Transfer the event log file to the BT Studio system. 7. Develop rule sets for the target application. 8. The resource definitions will be similar to those for GUI applications. The transaction definitions will use Windows KeyPress events, Connection Request and Response events, and possibly other events to identify transactions. Update Application Response with the new rule set.
Example: Develop a Text-Based Transaction Rule } } transaction "CS_Login" module "CS_Login" { # Remedy (aruser) starts and creates the login window # Event "StartAruserProcess" Process Start { ExecutableName="aruser" } Event "StartAruserWindow" Windows Start { ExecutableName="aruser" } Event "CreateLoginWindow" Windows Create { Title="Login" } Event "SetTitleLogin" Windows SetTitle { Title="Login - Remedy User" } # # All customer service login names begin with CS_ # so check for the user typing CS_ # after
Example: Develop a Text-Based Transaction Rule representatives to log into Remedy. (Because the customer service representatives interface with the customer, any delays for them translate into longer support calls for the customer. You have decided that you do not need to monitor the login times for other users.) All support representatives' login names begin with CS_. So you define a transaction that involves the user typing "CS_" (and other letters) in the Login User Name field, followed by clicking OK.
Example: Develop a Text-Based Transaction Rule # Event "Type_underscore" Windows KeyPress { Key=95 } # Note: For a list of decimal ASCII codes for printing and non-printing characters, refer to www.asciitable.com. The final part of the transaction definition recognizes when users click OK on the login window, and the login window is destroyed.
Example: Develop a Text-Based Transaction Rule Event "Type_S" Windows KeyPress { Key=83 } # uppercase S Event "Type_s" Windows KeyPress { Key=115 } # lowercase s } # Type an underscore # Event "Type_underscore" Windows KeyPress { Key=95 } # # User clicks the OK button on the Login window # Event "ClickOK" Windows MouseClick { Title="OK" } # # Login window is destroyed # Event "DestroyLoginWindow" Windows Destroy { Title="Login Status" } } 100 BTStudio Administration Guide
Chapter 9: Monitor Transactions in Java Applications If your Java applications or applets were developed using Java 2 Platform, Standard Edition (J2SE) 1.2 and later or Oracle's JInitiator 1.2 and later, Application Response captures more than just object IDs and Windows classes; it captures parameters that are specific to Java such as invocation of a Java application, text titles in a Java window, and the addition or removal of a Java component to or from a container.
Enable the AR Agent to Monitor Java Applications hook applet runs within the same Java virtual machine as the sales applet, it can measure transaction times and report them to the AR agent. The procedure for setting up Application Response for monitoring of Java applets is different from the setup of monitoring Java applications. To setup Application Response to monitor a Java application 1. Enable the AR agent to monitor Java applications 2.
Enable the AR Agent to Monitor Java Applications 2. Use the AR Agent Publisher to generate an AR agent installation program: a. Double-click ARAgentPublisher.exe to start it. b. On the Welcome screen, select Generate an AR Agent Installation Program and click Next. c. At the warning message, click OK. d. On the Software License Agreement screen, read the agreement and click Yes. e. On the Edit Controller Information screen, complete the fields and click Next. (Click Help for assistance.) f.
Enable the AR Agent to Monitor Java Applets For Java applications like Live Exceptions that have an icon that does not call the .bat file, you must modify both the icon and the .bat file. If you currently invoke the Java application using the following command: $JAVA_HOME/bin/java com.acme.MainClass -arg1 -arg2 then the invocation with the AR Java hook would be as follows: $JAVA_HOME/bin/java com.concord.apps.ARJavaHook.ARJavaHook com.acme.
Enable the AR Agent to Monitor Java Applets Platform, Standard Edition (J2SE) 1.2 and later or Oracle's JInitiator 1.2 and later. Note: You must use a licensed AR agent to monitor Java applications. You cannot use the BT recording agent to collect information for this feature. To enable the AR agent to recognize events in Java applets 1. 2. Download the AR Agent Publisher: a. Log in to the eHealth Web interface. b. Go to the Systems & Apps page. c. Click Application Response. d. Click Download.
Define Rules for a Java Application or Java Applet 6. Download the Java Application Monitor: a. Log in to the eHealth Web interface. b. Go to the Systems & Apps page. c. Click Application Response. d. Click Download. e. Click the link to download the Java Application Monitor (ARJavaHook.jar file). 7. Copy the ARJavaHook.jar file to the same location on your Web server as the Web page that you modified.
Example: Develop Java Transaction Rules 11. Define the transactions as described in the example of developing a Java transaction rule. The transaction definitions will use Java-specific events such as JKeyPress, JSetLabel and JAddComponent. 12. Update Application Response with the new rule set. Example: Develop Java Transaction Rules To monitor response times for transactions in Java application or applets, you need to define a rule set with transaction definitions that specify Java event actions.
Example: Develop Java Transaction Rules transaction "OpenSubjects" module "OpenSubjects" { event "OpenSubjects" Java JMouseRelease { Text="Subjects to Monitor..." } last { event "OpenSubjectsTitle" Windows SetTitle { Title="Setup Subjects"} event "OpenSubjReq" Connection Request { } event "OpenSubjResp" Connection Response { } } } failure1 "Exception" { event "OpenSubjects" Java JMouseRelease { Text="Subjects to Monitor...
Track Failed Transactions Open Top Ten Alarms Transaction transaction "TopTen" module "TopTen" { event "TopTenStarted" Java JMouseRelease { Title=contains:"eHealth Live Exceptions" Text="Top Ten Alarms" } event "TopTenWindow" Windows SetTitle { Title="Top 10 Alarms" } last { event "TopTenDone" Java JSetLabel { Title="Top 10 Alarms" } } } failure1 "Exception" { event "TopTenStarted" Java JMouseRelease { Title=contains:"eHealth Live Exceptions" Text="Top Ten Alarms" } event "Exception" Windows SetFocus { Ti
Track Failed Transactions At-a-Glance reports for response paths, client sets, and end points Trend reports for individual response paths and groups of response paths Top N reports for response paths, client sets, and end points For each of these reports, you can monitor the rate of failed transactions and compare it to the rate of successful transactions. (Use the Failed Transactions variables when generating Trend and Top N reports.
Invoke the Application Response Java Hook as an Applet cases are occurring most frequently. Then take steps to eliminate the cause or source of the transaction failures. Invoke the Application Response Java Hook as an Applet The HTML code that you add to the Web page where the Java applets are launched depends on the type of Web browser and Java plug-in for your environment. The following examples are for use with Microsoft Internet Explorer.
Invoke the Application Response Java Hook as an Applet Java Hook Applet for AR started using OBJECT html tag
Syntax for Resource Definitions Syntax for Resource Definitions The resource definition for an application goes at the top of the rule set after any application-specific constraints, but before any transaction definitions. When calculating response time for a transaction, Application Response includes the response time of all events that occur from the start of the transaction to its ending event that originate from the resources listed (required and additional).
Syntax for Resource Definitions Use the selection-kind qualifier to specify how many of the specified resources must exist before Application Response recognizes that the application is running. Valid values are as follows: one – Each resource matching one of the resource specifications should be considered a separate running instance of the application (for example, an application with multiple GUI executables).
Syntax for Resource Definitions Special Characters in String Parameters When using special characters such as quotation marks (") or backslashes ( \ ) in a string parameter to qualify an event, preceded the special characters with a backslash ( \ ). The following example shows how to specify a string parameter to match a window title containing quotation marks.
Syntax for Resource Definitions Question Mark (?) The question mark (?) indicates that the preceding character is an optional character. For example, xy?z matches either xyz or xz. Caret (^) A caret (^) at the beginning of a regular expression matches the string at the beginning of a line. Dollar Sign ($) A dollar sign ($) at the end of a regular expression matches the string at the end of a line. Using Multiple Regular Expressions You can use several regular expressions together to match multiple strings.
Syntax for Resource Definitions resources { require one { resource Process { ExecutableName=$(Application Executable) } } additional { resource Windows { } resource Connection { } } } When you define an application whose rule set contains this definition, you can use a function of the eHealth Web interface to specify one or more "Application Executable" values.
Syntax for Resource Definitions event "EndDownload" Web EndLoad { Level="top" } } When you define an application whose rule set contains this transaction definition, you can use the Application Properties page of the eHealth Web interface to specify one or more URLs to monitor. If you supply the values www.concord.com and www.irs.treas.gov, Application Response expands the transaction definition in the following way.
Transaction Definitions command inserts a pound sign at the start of each fully selected line, making the entire line a comment. Example In the following transaction definition, text following a pound sign (#) is a comment (shown in bold in this example). Application Response and BT Studio ignore these comments when evaluating the rule set.
Transaction Definitions . . . } except { except-event- specifications } failure1 "failure-name1" { failure-event- specifications } failureN "failure-nameN" { failure-event- specifications } transaction Required. The transaction keyword is followed by a unique transaction name. Note: Do not include spaces in the transaction name. Other naming restrictions exist. module Required. The module keyword is followed by a module name. The module name can be identical to the transaction name.
Event Specifications Within the transaction definition, you can create more complicated constructs using the choice, sequence, and last statements. (You cannot use choice, sequence, or last within the event specifications for the except and failure statements.) Application Response looks for the specified event sequence interspersed among all of the events occurring within the application.
Event Types identifying the key events that must be matched for Application Response to recognize and monitor a transaction. Syntax event event-name event-type event-action { parameter-list } event-name Required. The event name is a non-unique name that you assign and use to identify the event in the events pane of the main BT Studio window. It is useful when debugging rule sets. The event name can consist of any character string and has no impact on the recognition of transactions.
Event Types When used in a transaction definition, an AppEvent event type supports the following event actions: Start Stop BT Studio also recognizes all other event actions based on those defined in the Application Event API. For example, if the API defines an action called SalesQuery, the supported parameter is exactly what is displayed in the Text column of the events pane. The following example shows a resource definition and transaction definitions for events sent by the application.
Event Types module "WebAppSession" { event "Begin" AppEvent Start {} event "End" AppEvent Stop {} } transaction "SalesQuery" module "SalesQuery" { event "AppEventQuery" AppEvent SalesQuery {Flag=contains:"Begin"} event "AppEventQuery" AppEvent SalesQuery {Flag=contains:"End"} } Connection Event Type Use the Connection event type when defining an event that involves a network connection. The Connection event type supports the following event actions: Request. Indicates that data was sent to the server.
Event Types resource Process { ExecutableName="TELNET" } } additional { resource Connection { } } } transaction "Command" module "Command" { event "Request" Connection Request { } event "Response" Connection Response { } } DNS Event Type Use the DNS event type when defining an event that involves requests to a DNS server.
Event Types event "Fail" DNS FailedLookup { } } transaction "SuccessfulLookup" module "SuccessfulLookup" { event "Success" DNS SuccessfulLookup { } Java Event Type Use the Java event type when defining an event that involves actions in a Java application or applet.
Event Types resource Windows { } resource Java { } resource Connection { } } } transaction "LSLogin" module "LSLogin" { event "LEStarted" Java JInvokeApp { Class="com.concord.apps.liveExceptions.LeApp" Args = contains:"-status"} choice { event "LoginStartedClick" Java JMouseRelease { Title="Login" Class="javax.swing.
Event Types ReadMessage ReadMessageComplete SelectionChange Start Stop SubmitMessage SubmitMessageComplete WriteMessage WriteMessageComplete Example The following is a sample rule set for Microsoft Outlook. It defines events using several of the supported Outlook event actions.
Event Types { sequence { #This is when a user presses the delete key event "DeleteKey" Windows KeyPress {Key = 46} event "DeleteMenu" Windows MenuCommand { } } sequence { #This is when a user presses CTRL and then "D" event "DeleteKey" Windows KeyPress {Key = 17} event "DeleteKey" Windows KeyPress {Key = 68} } #The user clicked one of the many delete buttons event "DeleteMouse" Windows MouseClick { } } #Now Outlook is starting the actual delete event "Delete" Outlook DeleteMessage { } choice { #Window is d
Event Types Process Event Type Use the Process event source to define an event that involves the start or stop of a process. Start Stop Example The following example of a PeopleSoft rule set matches the first choice statement if either of the additional processes has started, and matches the second choice statement if either of the additional processes has stopped.
Event Types Session Event Type Use the Session event type to define an event that involves the start or stop of a terminal server session. Normal (non-terminal-server-based) desktop computers have a single session. When used in a transaction definition, the Session event source supports the following event actions: Start. Indicates that the associated terminal services session has been created. Stop. Indicates that the associated terminal services session has terminated.
Event Types Start Stop Example The following is a sample Web rule set. Using this rule set, Application Response monitors the time required to load Web pages in the browser.
Event Types MouseClick SetFocus SetTitle Start StatusMessage Stop Example resources { require any { resource Process {ExecutableName=$(Application Executable) } resource Process {ExecutableName="NOTES"} resource Process {ExecutableName="nlnotes"} resource Process {ExecutableName="naldaemn" } resource Process {Executablename="collector"} resource Process {Executablename="navapw32"} resource Process {Executablename="nwrdaemn"} } additional { resource Windows {ExecutableName="NOTES"} r
Event Actions } } transaction "Reply" module "Reply" { event "1" Windows MouseClick {Title="Reply"} event "2" Windows LoseFocus {Title=contains:"New Memo"} last { event "3a" connection request { } event "3b" connection response { } } } alternate ruleset { transaction "Read" module "Read" { event "1" Windows MouseClick {count=2 objectid="NLNOTES-381- 459033237"} last { event "2a" connection request { } event "2b" connection response { } } } } Event Actions An event action (or, more simply, an event) is the
Event Actions Event Type Supported Event Actions Java JAddComponent JInvokeApp JKeyPress JMouseClick JMouseRelease JRemoveComponent JSetLabel JSetText Start Stop Outlook ChangeFocus CheckNames CheckNamesComplete ComposeForwardMessage ComposeNewMessage ComposeReplyAllMessage ComposeReplyMessage DeleteMessage MessageDelivery ReadMessage ReadMessageComplete SelectionChange Start Stop SubmitMessage SubmitMessageComplete WriteMessage WriteMessageComplete Process Start Stop Session Start Stop 136 BTStu
Event Actions Event Type Supported Event Actions Web BeginLoad EndLoad FailedLoad Start Stop Windows ButtonPress Create Destroy KeyPress LoseFocus MenuCommand MouseClick SetFocus SetTitle Start StatusMessage Stop AppEvent Start Action The AppEvent Start event indicates that the associated application process initialized. Note: You cannot use the IgnoreEvents clause for an AppEvent Start event.
Event Actions Example transaction "AppEventstop" module "AppEventstop" { event "Stop" AppEvent Stop { } } DNS FailedLookup Event Action A Domain Name System (DNS) resource exists for each process that makes requests to a DNS server. The FailedLookup event action indicates a failed DNS lookup. At times, it may appear that Application Response is reporting more DNS failed lookups than actually occur.
Event Actions DNS Stop Event Action A Domain Name System (DNS) resource exists for each process that makes requests to a DNS server. The Stop event indicates that the process has terminated. Note: You cannot use the IgnoreEvents clause for a DNS Stop event. Example transaction "DNSstop" module "DNSstop" { event "Stop" DNS Stop { } } DNS SuccessfulLookup Event Action A Domain Name System (DNS) resource exists for each process that makes requests to a DNS server.
Event Actions Java JInvokeApp Event Action The Java JInvokeApp event action indicates that the Java application initialized. The JInvokeApp event supports the following parameters: Args. The arguments passed to the application class. Class. The name of the application class. Title. The title of the application. Example transaction "LTLogin" module "LTLogin" { event "LTStarted" Java JInvokeApp { Class="com.concord.apps.liveTrend.
Event Actions Class. The name of the application class. Title. The title of the window that was activated by the mouse. Example transaction "MouseClick" module "MouseClick" { event "MouseClick" Java JMouseClick {} } Java JMouseRelease Event Action The Java JMouseRelease event action indicates that the user released the mouse after clicking on a Java component. This event supports the following parameters: Text. The text on the component activated by the mouse, if any. Class.
Event Actions { event "RemoveComponent" Java JRemoveComponent { } event "RemoveComponent" Java JRemoveComponent { } } Java JSetLabel Event Action The Java JSetLabel event action indicates that a label changed on a JLabel component. This event supports the following parameters: Title. The title of the Java component. Text. The new value for the SetLabel event. OldText. The former value for the SetLabel event.
Event Actions Java Start Event Action The Java Start event action indicates that the associated Java process initialized. Example transaction "JavaStart" module "JavaStart" { event "JavaStarted" Java Start { } } Java Stop Event Action The Java Stop event action indicates that the associated Java process terminated.
Event Actions event "chckCmplt" Outlook CheckNamesComplete { } } Outlook CheckNamesComplete Event Action The Outlook CheckNamesComplete event action indicates that the previous operation, CheckNames, has completed. This action supports the following parameter: ExecutableName.
Event Actions # Sending a message event "msclick" Windows MouseClick { } event "New" Outlook ComposeNewMessage { } event "SubmitComplete" Outlook SubmitMessageComplete { } } Outlook ComposeReplyAllMessage Event Action The Outlook ComposeReplyAllMessage event action indicates that the user has composed a reply to the sender and all other recipients. This action supports the following parameter: ExecutableName.
Event Actions ExecutableName.
Event Actions module "Incoming" { event "Event1" Connection Request { } event "Event2" Connection Response { } event "Event3" Outlook MessageDelivery { } } Outlook Read Message Event Action The Outlook ReadMessage event action indicates that the user has opened a message. This action supports the following parameter: ExecutableName.
Event Actions event "DeleteKey" Windows KeyPress {Key = 68} } #The user clicked one of the many delete buttons event "DeleteMouse" Windows MouseClick { } } #Now Outlook is starting the actual delete event "Delete" Outlook DeleteMessage { } choice { #Window is destroyed when message is in its own window event "Destroy" Windows Destroy { } sequence { #There will be 2 of these when you delete from the message list event "SelectionChange" Outlook SelectionChange { } event "SelectionChange" Outlook SelectionCha
Event Actions Example transaction "OutlookStop" module "OutlookStop" { event "Stop1" Windows Destroy { ExecutableName="OUTLOOK" } event "Stop2" Windows SetTitle { Title="Microsoft Outlook Shutting Down" } event "Stop3" Process Stop { ExecutableName="OUTLOOK" } event "Stop4" Windows Stop { ExecutableName="OUTLOOK" } event "Stop5" Outlook Stop { ExecutableName="OUTLOOK" } event "Stop6" Windows Destroy { ExecutableName="MAPISP32" } event "Stop7" Process Stop { ExecutableName="MAPISP32" } event "Stop8" Window
Event Actions Module "Send" { event "SubmitMsgBegin" Outlook SubmitMessage {} event "SubmitMsgComplete" Outlook SubmitMessageComplete {} event "DestroyWndw" Windows Destroy {} } Outlook WriteMessage Event Action The Outlook WriteMessage event action indicates that Outlook saved the properties of a message. This action supports the following parameter: ExecutableName.
Event Actions Example The following example shows a sample rule set for an SAP application.
Event Actions resource Windows { } resource Connection { } } } transaction "Login" module "Login" { event "Start" Process Start { ExecutableName="SAPGUI" } event "Login" Windows SetTitle { Title="Enter Username" } event "Logout" Windows SetTitle { Title="SAP R/3 System" } event "Stop" Process Stop { ExecutableName="SAPGUI" } } Web BeginLoad Event Action The Web BeginLoad event action indicates that the browser is loading a document. This event supports the following parameters: ExecutableName.
Event Actions event "KeyPress" Windows KeyPress {} } choice { event "Begin" Web BeginLoad { Level="top" URL=contains:$(URLs) } } event "End" Web EndLoad { Level="top" } } When you create or modify an application definition that uses this rule set, Application Response prompts you for one or more values for the URL parameter. If you specify "www.concord.com" and "www.irs.ustreas.
Event Actions top indicates a top-level page. sublink indicates a sub-link of another page. Note: For a list of the versions of Internet Explorer and Netscape Navigator that the AR agent can monitor, refer to the BT Studio readme file, which resides in the BT Studio installation directory. Example transaction "LoadPage" module "LoadPage" { event "Event1" Web BeginLoad { Level="top" URL=contains:"www.concord.com/cust/techsup.
Event Actions # begin loading the intranet page event "Begin" Web BeginLoad { Level="top" URL=contains:"abc.com" } # # finish loading the intranet page event "End" Web EndLoad { Level="top" } } failure1 "404_not-found" { choice # create a window, click the mouse, or press a button { event "CreateWindow" Windows Create {} event "MouseClick" Windows MouseClick {} event "ButtonPress" Windows ButtonPress {} } # begin loading the intranet page event "Begin" Web BeginLoad { Level="top" URL=contains:"abc.
Event Actions Note: You cannot use the IgnoreEvents clause for a Web Stop event.
Event Actions Windows Create Event Action The Windows Create event action indicates that a new application window was created. Create events support the following parameters: (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class. Title. The title of the new window ObjectID.
Event Actions Windows KeyPress Event Action The Windows KeyPress event action indicates that the user pressed a key (of the keyboard) within the context of an application window. KeyPress events support the following parameters: (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class. The class of the affected window Title. The title of the affected window ObjectID. Application-wide unique identifier of the affected window Key.
Event Actions LoseFocus events support the following parameters. (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class. The class of the affected window Title. The title of the affected window ObjectID.
Event Actions Windows MouseClick Event Action The Windows MouseClick event action indicates that the user clicked a mouse button within the context of an application window. MouseClick events support the following parameters. (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class. Title. The title of the affected window ObjectID. Application- wide unique identifier of the affected window Count.
Event Actions { event "Event1" Windows SetFocus { Title=contains:"Purchase Order" } event "Event2" Windows MenuCommand { Text="Purchase order- >Change" } event "Event3" Windows StatusMessage { Title="Purchase Order Updated" } } Windows SetTitle Event Action The Windows SetTitle event action indicates that the title of an application window changed. SetTitle events support the following parameters. (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class.
Event Actions event "Start5" Web EndLoad { ExecutableName="IEXPLORE" } } Windows StatusMessage Event Action The Windows StatusMessage event action indicates that the application displayed a status message. StatusMessage events support the following parameters. (BT Studio displays these values in the events pane.) ExecutableName. The name of the process Class. The class of the affected window Title. The title of the affected window ObjectID.
Parameter List Parameter List A parameter is a name with an associated value that qualifies an instance of a resource or an application event. For example, Application Response recognizes a Process resource by an executable name. In a parameter-list, each parameter entry is usually comprised of a simple name and value (string or numeric) separated by an equality operator (‘=’).
Parameter List regexp The actual parameter value must match the specified regular expression (without sensitivity to case). Regular expressions are patterns in text strings that are formed by normal characters and special characters. Regular expressions allow you to search on patterns instead of fixed strings. Example: event "Event5" Windows StatusMessage { Text=regexp:"ID[0-9]+" } Example The following example shows a rule set for an application called EmployeeManagement.
Sequence Statement # Match any status message that begins with an identification number event "Event5" Windows StatusMessage { Text=regexp:"ID[0-9]+" } Sequence Statement Sometimes a transaction is valid only if a number of steps occur in a specific order. The sequence statement allows you to specify an ordered series of events for a transaction.
Choice Statement sequence # Manually enter employee data { event "EventA1" Windows SetFocus { Title="Enter Employee Data" } event "EventA2" Windows MenuCommand { Text="Record->Save" } event "EventA3" Windows StatusMessage { Text="Record Saved" } } sequence # Import employee data from a file { event "EventB1" Windows SetFocus { Title="Import Employee Record" } event "EventB2" Windows MenuCommand { Text="Record->Save" } event "EventB3" Windows StatusMessage { Text="Record Imported" } } } } Choice Statem
Choice Statement transaction "AddEmployee" module "AddEmployee" { choice { sequence # Manually enter employee data { event "Event A1" Windows SetFocus { Title="Enter Employee Data" } event "Event A2" Windows MenuCommand { Text="Record->Save" } event "Event A3" Windows StatusMessage { Text="Record Saved" } } sequence # Import employee data from a file { event "Event B1" Windows SetFocus { Title="Import Employee Record" } event "Event B2" Windows MenuCommand { Text="Record->Save" } event "Event B3" W
Last Statement choice { event "StartA" Process Start { ExecutableName="SQRW" } event "StartB" Process Start { ExecutableName="PSCRRUN } } choice { event "StopA" Process Stop { ExecutableName="SQRW" } event "StopB" Process Stop { ExecutableName="PSCRRUN } } } Last Statement In some cases, you may have difficulty identifying the end of a transaction, particularly if the transaction does not end with any windowing activity, but instead with a flurry of network activity.
Except Statement Example Suppose you want to monitor the performance of Lotus Notes. Scheduling a meeting involves some user actions followed by a flurry of exchanges with the database server. The following transaction definition configures Application Response to recognize such a transaction.
Except Statement Note: If you are defining exceptions and failures for a transaction, the except statement must follow the transaction definition (event specifications) but precede the failure statement. Syntax transaction "transaction- name" module "module-name" [ transaction- specific_constraints ] { event-specification event-specification event-specification . . . } except { except-event-specification except-event-specification except-event-specification . . .
Except Statement module "AddEmployee" { event "EnterData" Windows SetFocus { Title="Enter Employee Data" } event "Record-Save" Windows MenuCommand { Text="Record->Save" } event "Status-Saved" Windows StatusMessage { Text="Record Saved" } } except # Unless the Update command is used { event "Record-Update" Windows MenuCommand { Text="Record- >Update" } } When an EnterData event occurs, Application Response begins to watch for other events that match the remaining events of the transaction.
Failure Statement Failure Statement The failure statement defines events that, when they occur, indicate that the transaction has failed in some way. You can define up to five failures for each transaction. Application Response tracks this data and can report on the rate of failures per transaction, or failure rates per client set or response endpoint. Transaction failure data can appear in Trend, Top N, and At-a-Glance reports.
Failure Statement failure5 "failure-name" { failure-event-specifications } Parameters failure1, failure2, failure3, failure4, failure5 Required to define failures for transactions. You can define up to five failures per module. Each failure statement begins with the failure keyword, which is appended with a number 1 through 5. If you need to define more than five failures, use a choice statement to group several failure methods into a single failure case.
Failure Statement transaction "Login" module "Login" { event "Begin" Windows SetTitle {Title="Login"} event "Success" Windows SetTitle {Title="Login Succeeded"} } failure1 "FailedLogin" { event "Begin" Windows SetTitle {Title="Login"} event "Failed" Windows SetTitle {Title=contains:"Login Failed"} } Example 2: To expand on Example 1, the following Login transaction definition includes four failure statements, which help to identify reasons for the login failure: invalid password, invalid server, server no
Failure Codes Example 3: The following transaction definition demonstrates the use of a choice statement within a failure statement to define multiple paths for a failure case. It also demonstrates use of the Web FailedLoad event action.
Alternate Rulesets Failure Code Code Message 410 HTTP_STATUS_GONE 411 HTTP_STATUS_LENGTH_REQUIRED 412 HTTP_STATUS_PRECOND_FAILED 413 HTTP_STATUS_REQUEST_TOO_LARGE 414 HTTP_STATUS_URL_TOO_LONG 415 HTTP_STATUS_UNSUPPORTED_MEDIA 500 HTTP_STATUS_RETRY_WITH 501 HTTP_STATUS_NOT_SUPPORTED 502 HTTP_STATUS_BAD_GATEWAY 503 HTTP_STATUS_SERVICE_UNAVAIL 504 HTTP_STATUS_GATEWAY_TIMEOUT 505 HTTP_STATUS_VERSION_NOT_SUP Alternate Rulesets Alternate rule sets allow you to monitor an application usi
Alternate Rulesets module module-name1 { rule-body1 } transaction transaction- name2 module module-name2 { rule-body2 } . . . } Example The following example shows how to monitor events at a detailed transaction level and at a general response time level using an alternate rule set.
IgnoreEvents Clause event "Wnd3" Windows MenuCommand { Text="Edit->Save" } event "Wnd4" Windows StatusMessage { Text="Employee record updated." } } # # AR-level transactions. Monitor every window transition.
IgnoreEvents Clause The name of the application executable whose events you want to ignore. If you specify an executable name, Application Response ignores the specified events only for that executable. If an event is performed by another executable of the same resource type, Application Response does not ignore it but includes its data in the response time measurements for a monitored transaction. (See Examples.
IgnoreEvents Clause { resource Windows {ExecutableName="EMPMGT1" IgnoreEvents="ButtonPress"} resource Windows {IgnoreEvents="Destroy"} resource Connection {} } } In the above example, the resource Windows {IgnoreEvents="Destroy"} statement ensures that Application Response measures the response times of all Windows events related to the monitored transactions, in addition to ignoring all Destroy events.
Resource Types resource Connection {IgnoreEvents = "Request,Response"} } } Resource Types Resource types indicate the sources of application events that the AR agent uses to recognize transactions and measure their response times. Resources provide application events to the transaction recognition engine. For example, when you specify the Web resource in a resource definition, Application Response observes events about the URLs navigated to and the Web frames that appear in Web browsers.
Resource Types resources { require all { resource Process { ExecutableName=$(Application Executable) } resource Process { ExecutableName="TASKEXEC" } resource Process { ExecutableName="IEXPLORE" } } additional { resource Web { } resource Windows { } resource Connection { } resource AppEvent { } } } Alternate Ruleset { Transaction "AppEvent-WebLoad" Module "AppEvent-WebLoad" { Event "ARAppEvent" AppEvent WebLoad {Flag=contains:"Begin"} Event "ARAppEvent" AppEvent WebLoad {Flag=contains:"End"} } Connectio
Resource Types Parameters When used in a resource definition, a Connection resource supports the following parameters: ExecutableName. The name of the process Hostname. The name of the server to which the connection was made Port. The server port to which the connection was made (numeric) URL. The original uniform resource locator (URL) accessed on the connection (for Web connections only) In general, however, you do not need to specify parameters for the Connection resource.
Resource Types As long as the process exists, this resource is maintained. When the process terminates, the DNS resource is considered to have terminated. Parameters When used in a resource definition, a DNS resource supports the following parameters: ExecutableName. The name of the process Hostname. The hostname of the server system to which the request was sent Port.
Resource Types Java Resource Type If you want to capture events for Java applications and applets, you must include the Java resource type in the additional section of your resource definition. This enables Application Response to monitor Java-specific activity. You do not need to specify parameters for the Java resource. This syntax allows you to define transactions using any Java events. Example The following example shows a resource definition for monitoring Java activity.
Resource Types Application Response to monitor transactions that use Windows, Outlook, and Connection events (related to the required OUTLOOK process). resources { require one { resource Process { ExecutableName=$(Application Executable) } resource Process { ExecutableName="OUTLOOK" } } additional { resource Windows { } resource Outlook { } resource Connection { } } } Process Resource Type A separate resource represents each process on the monitored system.
Resource Types resource Windows { } resource Connection { } } } transaction "WindowTransition" module "WindowTransition" { # Start with any window. event "Wnd1" Windows SetTitle { } # Ends with any other window event "Wnd2" Windows SetTitle { } } Session Resource Type Use the Session resource in a resource definition to monitor terminal server sessions. Parameters The Session resource type does not support any parameters in a resource definition.
Resource Types Web Resource Type Use the Web resource in a resource definition to monitor Web activity involving Microsoft Internet Explorer or Netscape Navigator. (You cannot use Application Response to monitor Web activity for other Web browsers.) Note: For a list of the versions of Internet Explorer and Netscape Navigator that the AR agent can monitor, refer to the BT Studio readme file. Parameter When used in a resource definition, a Web resource supports the following parameter: ExecutableName.
Resource Definitions Parameter When used in resource definitions, a Windows resource supports the following parameter. ExecutableName. The name of the process Note: You cannot use the IgnoreEvents clause for Windows Start or Stop events. Example The following example shows a sample rule set for PeopleSoft. The Windows resource definition in the additional section allows Application Response to observe windowing activity (related to the required processes) when monitoring PeopleSoft transactions.
Resource Definitions resources an application uses for monitored transactions. (A resource is an entity that generates activity that can be monitored by the Application Response agent, such as a process or a network connection.
Resource Definitions { ExecutableName=$(Application Executable) } resource Process { ExecutableName="process_name"} } additional { resource Connection { } } } Replace process_name with the name of the executable program whose network activity you want to monitor. Note: Applications such as DNS and Telnet do not have windowing activity, and so they should use resource definitions like this one.
Resource Definitions Application Response includes the response time of all events that occur from the start of the transaction to its ending event that match the resources listed (required and additional).
Resource Definitions Syntax Use the following syntax for the require section of an application's resource definition: resources { require selection-kind { resource resource- type { parameter- list } resource resource- type { parameter- list } . . . } The require keyword must be followed by the selection-kind qualifier. Valid values are one, all, or any. When defining a required resource, you can specify user-definable resources or use no resource parameters.
Resource Definitions resources { require one { resource Process { } } The syntax Process { } indicates that Application Response is to monitor processes with any executable name (effectively acting as a wildcard). As a result, Application Response monitors all processes and, assuming it can match transactions based on the transaction definitions, aggregates response time for all of the processes under this one application definition. This would result in useless performance information.
Resource Definitions Many of the default application rule sets provide this functionality; they include syntax that allows authorized users to add or remove required resource definitions from the eHealth Web interface. If you remove this syntax from the application’s rule set, you will not be able to change an application’s required resources from the eHealth Web interface. Leave this syntax in place unless you need to remove it for a specific reason.
Resource Definitions resources { require all { resource Process { ExecutableName="FRONT" } resource Process { ExecutableName="SAPGUI" } } Based on this resource definition, Application Response monitors transactions only when both the FRONT networking executable and the SAPGUI executable are running. Application Response uses the combined network and GUI activity to monitor and measure transactions. If either process does not exist, Application Response does not monitor transactions for that application.
Resource Definitions ONE: An Application That Uses One Resource Use the one keyword for the selection-kind qualifier if a running instance of an application consists of one resource, such as a GUI executable. You can list several resources with the one keyword, in which case Application Response recognizes one running instance of the application for each resource that it observes. Example The following example lists required resources for a PeopleSoft application.
Resource Definitions resources { require one { resource Connection { Port="1234" } } To monitor activity of a particular type from any source, simply omit all parameters for the resource, as follows: resources { require one { resource Connection { } } This resource definition configures Application Response to monitor network activity on any port and any system. Example The following example shows the require section of the resource definition for DNS.
Resource Definitions that they are from the same processes identified in the require section. As such, there is usually no need to further qualify them. Additional resources may be in use while the application is running, but they are not required in order for Application Response to monitor response time.
Resource Definitions the start of the transaction to its ending event and that originate from the resources listed (required and additional). If you find that BT Studio is not recognizing defined transactions, check your resource definitions. Does the transaction definition refer to an event type that does not match a resource type in the resource definition? If so, you must define the appropriate type of resource. You can define additional resources with parameters and without parameters.
Resource Definitions additional section lists the processes SQRW and PSCRRUN. These resources are then referenced in transaction events.
Resource Definitions times need to be included in the total response time calculation. Therefore, these processes must be specified in the additional section.
Resource Definitions resource Process { ExecutableName="NOTES" } resource Process { ExecutableName="NLNOTES" } } additional { resource Windows { } resource Connection { } } } In this resource definition, the require section uses the one keyword, indicating that Application Response will recognize any one of the listed processes (NOTES or NLNOTES) as a separate running instance of the application, and will monitor each separately.
How Transaction Limits Work processes exist, then Application Response begins to monitor SAP transactions. As soon as either process terminates, Application Response will cease to monitor the application.
How Transaction Limits Work To eliminate these no-server transactions from reports, each default application rule set begins with the following constraints. In addition, when you define a new application, these constraints appear at the top of the rule set. [ BytesSent > 0 ServerName != "No-Server" ] The BytesSent constraint instructs Application Response to ignore any transaction for which no data is sent over the network.
How Transaction Limits Work # ServerName != "No-Server" ] When an application rule set includes any transaction limit or constraint, Application Response ignores the default constraints and applies the defined limit or constraint when monitoring transactions.
How Transaction Limits Work discards its response time information. The data is not included in any reports, nor is it stored in the eHealth database. However, the transaction is included in the count of timed-out transactions for reporting purposes (available through the Transaction Timeouts variable).
How Transaction Limits Work resources { require any { resource Process {ExecutableName="IEXPLORE"} } additional { resource Web { } resource Windows { } resource Connection { } } } transaction "LoadPage" module "LoadPage" { choice { event "WindowCreate" Windows Create { } event "MouseClick" Windows MouseClick { } event "KeyPress Windows KeyPress { } } event "BeginLoad" Web BeginLoad { Level="top" } event "EndLoad" Web EndLoad { Level="top" } } Transaction-Specific Elapsed and Reported Time You can set diff
How Transaction Limits Work [ ReportedTime < 900000 ElapsedTime < 900000 ] resources { require one { resource Process { ExecutableName=$(Application Executable) } resource Process { ExecutableName="OUTLOOK" } } additional { resource Windows { } resource Outlook { } resource Connection { } } } transaction "New" module "New" [ ReportedTime < 600000 ] { # Sending a message event "New" Outlook ComposeNewMessage { } event "SubmitComplete" Outlook SubmitMessageComplete { } } transaction "Reply" module "Reply" [
How Transaction Limits Work transaction "Forward" module "Forward" { # Sending a message event "ComposeForward" Outlook ComposeForwardMessage { } event "SubmitComplete" Outlook SubmitMessageComplete { } } transaction "Read" module "Read" { # Reading a message event "Selection" Outlook ReadMessage { } event "ReadComplete" Outlook ReadMessageComplete { } } Eliminating Transactions with No Server Activity A typical transaction involves an action performed at the client, which sends a request over the network
How Transaction Limits Work [ BytesSent >= 0 # ServerName != "No-Server" ] This will ensure that Application Response includes response time information about transactions in eHealth reports, regardless of whether they involve sending data over the network.
How Transaction Limits Work transactions override constraints defined for applications. Use the same syntax.
How Transaction Limits Work Constraint N2NetworkTime Description For a terminal server application, the limit for the number of milliseconds of N2 network time for a transaction, where N2 is the latency introduced by the connection between the terminal server and the application server Example: N2NetworkTime < 600000 ReportedTime The limit for the number of milliseconds of reported time for a transaction (client time + network time + server time) Example: ReportedTime < 600000 RoundTrips The limit for
How Transaction Limits Work Constraint Description ThinkTime The limit for the number of milliseconds of think time for a transaction Example: ThinkTime <= 8000000 Syntax for Transaction Limits and Constraints When defining an application-specific or transaction-specific transaction limit or constraint, use the following syntax: [ transaction_limit_name operator value ] In the application rule set, place this syntax as follows: To define an application-specific limit, add the syntax above the app
Tracking Timed-Out Transactions Operator Description Valid Values Example BytesSent >= 0 >= Greater than or equal to Integer != Not equal to (for use with ServerName only) String enclosed in quotes ServerName != "No- Server" = Equal to Integer BytesSent = 0 When Application Response observes a transaction that exceeds an upper time limit (such as [ ElapsedTime < 900000 ]), it adds that transaction to the Transaction Timeouts counter and excludes the response data from other eHealth reports.
Tracking Timed-Out Transactions reported time for a Notes transaction exceeds 10 minutes, Application Response counts it as a timed-out transaction and does not include its response time data in average response time calculations. To report on the rate of timed-out transactions, you can run a Trend report on selected response paths for the Transaction Timeouts variable.
Application Event Source indicates this with an icon and the name of the applicable constraint, as shown in Transactions with Constraints. Application Event Source The AR Application Event API allows you to define unique start and end events that allow the AR agent to explicitly bound a transaction. It supports events from C and any language supporting COM. It does not support events sent from remote systems.
Application Event Source C Interface BOOL _cdecl ARAppEvent_Connect() BOOL _cdecl ARAppEvent_SendEvent(const TCHAR* pszEventName, const TCHAR* pszEventArguments) VOID _cdecl ARAppEvent_Disconnect() COM Interface IARAppEventSink: HRESULT Connect() HRESULT SendEvent(BSTR eventName, BSTR eventArgs) HRESULT Disconnect() Examples C C# ARAppEvent_Connect The ARAppEvent_Connect function connects the ARAppEvent.dll to the AR agent. BOOL _cdecl ARAppEvent_Connect(); Parameters None.
Application Event Source ARAppEvent_SendEvent ARAppEvent_SendEvent causes events to be sent to the AR agent. BOOL _cdecl ARAppEvent_SendEvent(const TCHAR* pszEventName, const TCHAR* pszEventArguments) Parameters pszEventName – [in] Pointer to a NULL terminated string, either UNICODE or ANSI based on the version of the operating system. Win9x variants use ANSI, while WinNT variants use UNICODE.
Application Event Source An EventParameterValue that starts with the digits 0-9 is treated as an integer, unless it is double quoted: Integer Example Foo=1234 String Example Foo=”1234” ARAppEvent_Disconnect The ARAppEvent_Disconnect function tells the AR agent to clean up the instance-based bookkeeping which is used to receive application events from the ARAppEvent.dll. VOID _cdecl ARAppEvent_Disconnect() Parameters None. Return Values None.
Application Event Source HRESULT_SendEvent HRESULT_SendEvent causes events to be sent to the AR agent. HRESULT IARAppEventSink::SendEvent(BSTR eventName, BSTR eventArgs) Parameters BSTR eventName – [in] Pointer to a NULL terminated string in UNICODE format. BSTR eventArgs – [in] Pointer to a NULL terminated string in UNICODE format. Multiple arguments are allowed, using spaces as delimiters. A maximum of 2048 bytes is allowed.
Application Event Source Foo=”1234” HRESULT_Disconnect The HRESULT_Disconnect function tells the AR agent to clean up the instancebased bookkeeping which is used to receive application events from the ARAppEvent.dll. HRESULT_IARAppEventSink::Disconnect() Parameters None. Return Values None. Remarks A process must call this function if it calls HRESULT_Connect. C Interface Example #include #include “CInterface.
C# Interface Example } ARAppEvent_Disconnect(); } C# Interface Example For information related to the use of the ARAppEvent.dll in C#, refer to "Importing a Type Library as an Assembly" in the MSDN library at http://msdn.microsoft.com. #using ARAppEvent static void Main() { Thread.CurrentThread.ApartmentState = ApartmentState.STA; ARAppEventSink appEvent = new ARAppEventSink(); if(appEvent == null){ return; } appEvent.
Screen Descriptions Applications The Applications window displays a list of applications defined to BT Studio, according to the name.Config.ard configuration file. You can access the Applications window in either of the following ways: From the BT Studio menu, select View, Applications. Click the Applications button on the BT Studio tool bar.
Screen Descriptions Application Type When to Use This Application Type AvgWinResponse To define a Windows-based application that does not have a more specific application type, such as Clarify, Scopus, or SalesLogix (The default rule measures the response time of a transaction initiated by a user, but you can add and modify rules as needed.
Screen Descriptions Name Assigns a name to the application. Application names are case-sensitive and should be 15 characters or less. An application name cannot include spaces or any of the following characters: ~`!@#$%^&*()+=[]{}|;'\",<>? Type Indicates the application type. After you define an application, you cannot change its type; instead, you must delete the application and define a new one.
Screen Descriptions The New Server dialog appears when you define a new server. Click the dropdown arrow and select an appropriate server type. If the server does not match any of the more specific server types, select Other. Click OK. The Server Properties window appears, where you specify information about the new server. Server Types When defining a server, you must specify the server type in the New Server dialog. Choose a server type as follows.
Screen Descriptions Server Type When to Use This Server Type Other To define a server that does not fit any other server type. The default port number is zero (0), indicating that Application Response uses automatic protocol recognition to identify the port used by the server. You may need to provide a port number so that Application Response can monitor activity on this server. PeopleSoft App Server To define a server for a PeopleSoft application.
Screen Descriptions Type Indicates the server type. After you define a server, you cannot change its type; instead, you must delete the server and define a new one. Description (Optional) Provides a description of this server. This description is for your use only. It is not used elsewhere in BT Studio. Server Properties: Hostnames, Ports The Hostnames, Ports tab of the Server Properties window specifies one or more hostnames and related ports for the server.
Screen Descriptions This enables Application Response to monitor Web traffic that is redirected from a primary Web server to other Web servers. Using the URL Substrings Tab To access this tab, select View, Servers, double- click the server in the list, and click the URL Substrings tab. (This tab appears only for servers of type Web.) To add a URL substring to the list, click , type the desired substring, press Enter, and click Apply.
Screen Descriptions The URL substrings specified for a Web application server (on the URL Substrings tab) control the monitoring of network time for the application only. If Application Response recognizes a transaction based on the application rule set, but there is no match in the Web server definition, it reports a network time of 0 (zero). Server Properties: Details Use the Details tab of the Server Properties window to provide more information about a server.
Screen Descriptions Select an Application to Download The Select an Application to Download dialog box appears when you select Tools, Download Rules from the BT Studio main window, and after you connect to the eHealth system by completing the eHealth System Connection Parameters dialog. The Download Rules function allows you to download the rule set for one application from Application Response.
Screen Descriptions Select Server The Select Server dialog box appears when you are using the Connection Manager to add a hostname or port to a server. Do one of the following: To add the selected hostname or port to an existing server, select the desired server in the list and click OK. BT Studio adds that hostname and port to the selected server definition. (Go to Server Properties to see the hostname and port listed for the server.
Screen Descriptions Edit Column Filter Use the Edit Column Filter function to filter the events that appear in the events pane of the BT Studio window, based on values for the current column of the events pane. To access this function, right-click the desired column of the events pane and select Edit Column Filter. On the Edit Column Filter dialog, a check mark appears in the Visible column for each value that is currently visible in the events pane.
Screen Descriptions See the events that are matched by transaction rules during testing Define breakpoints to use when troubleshooting and refining rules Rules Pane The rules pane is the middle pane of the BT Studio window. In this pane you can edit an application's rule set to define the resources and transactions to monitor. Before you can edit the rule set, you must choose the application.
Module Statement After correcting any syntax errors, perform another syntax check to ensure that you find and correct all errors. Transactions Tab After checking the syntax of a rule set, you can test the rule set by running the events recorded in the event log against the defined rules. BT Studio displays recognized transactions on the Transactions tab of the results pane, which appears at the bottom of the BT Studio window. It also indicates transactions that will be ignored due to constraints.
Module Statement Note: Naming restrictions apply to module names. Syntax module "module-name" Example The following transaction definitions are from an application rule set for Lotus Notes.
Basic Rule Set Syntax Basic Rule Set Syntax The basic structure of an application's rule set definition is as follows: [ limits_and_constraints ] resources { resource_definitions } transaction "transaction-name- 1" module "module-name-1" { transaction_definitions_1 } . . . transaction "transaction-name- n" module "module-name-n" { transaction_definitions_n } alternate ruleset { alternate_transaction_rules } Example A sample rule set for SAP follows.
Basic Rule Set Syntax additional { resource Windows {} resource Connection {} } } transaction "Login" module "Login" { # Start with the SAP R/3 window event "StartWindow" Windows SetTitle { Title="SAP R/3" } # End with SAP R/3 System window event "SAP-RS_System" Windows SetTitle { Title-"SAP R/3 System" } } transaction "ChangePO" module "ChangePO" { # Start with the Change Purchase Order window event "Change-PO" Windows SetTitle { Title=contains:"Change Purchase Order" } # Next event is status message even
Chapter 11: Troubleshooting Use the following information to troubleshoot problems with BT Studio or the rule development process. This section contains the following topics: BT Marker Errors (see page 241) BT Studio Errors (see page 241) Transactions Not Recognized (see page 242) Inaccurate Response Time Measurements (see page 243) BT Marker Errors This error message appears when you try to connect BT Marker to a remote agent, but the agent on the remote system is not started.
Transactions Not Recognized 3. Double-click the transaction in the results pane again to see all of its matching events. Warning: Module "xxxx" has more than one transaction defined--this feature is being deprecated. 4. This warning appears on the eHealth console and in arcontrol.log. BT Studio issues this warning when you add transaction definitions to an application rule set, and more than one transaction is assigned to the same module. 5.
Inaccurate Response Time Measurements Check the Recognized Events tab in the results pane. If it lists one or more events for a transaction, BT Studio was able to begin to recognize a transaction but was not able to recognize all of its events. Double-click the first event. In the events pane, BT Studio jumps to the starting event for the transaction. Scroll down the events in the events pane to find the subsequent events that you expected BT Studio to recognize.
Inaccurate Response Time Measurements [ BytesSent < 100 ] When you have finished testing, reset the Bytes constraint to its default setting or another appropriate setting. No network time reported for Web transactions When testing Web application rules against an event log, BT Studio may report zero network time. This problem occurs when the URL substrings defined for the Web server do not apply to the URLs of the monitored transaction.
Inaccurate Response Time Measurements Response times are inaccurate If a transaction's reported time is greater than expected, consider how you are bounding the transaction rule. Have you specified appropriate starting and ending events? Make sure that the final event specification correctly identifies the end of the transaction.
Glossary A additional resource A resource, specified in the additional section of an application's resource definition, that Application Response uses to identify the type of activity to monitor. If you define transaction definitions that use event types that do not match resource types listed in the resource definition, Application Response cannot monitor those transactions. agent See AR agent.
Inaccurate Response Time Measurements application A software product that you use for a specific purpose or to perform a set of related tasks. For example, you might use an e-mail application to send and receive electronic mail, or a Web application to search a database. application definition In Application Response and BT Studio, a record that defines an application to monitor for response time. application executable The executable program for an application. Also referred to as an executable.
Inaccurate Response Time Measurements AR controller also receives data from the agents and sends it to eHealth. The AR controller resides on the eHealth system. ASCII The American Standard Code for Information Interchange. The most common format for character representation in computers and the Internet. Characters fit into a single byte. It was developed by the American National Standards Institute (ANSI). ATV See Agent Transaction Viewer.
Inaccurate Response Time Measurements BT Recording agent A version of the AR agent that you can use to record application activity in an event log file if licensed AR agents are not yet installed or available on the client system. The BT Recording agent does not require a software license. BT Studio A software program that provides a work environment to help you develop an application rule set, which Application Response uses to recognize the applications and transactions to monitor.
Inaccurate Response Time Measurements accessing remote servers as needed for data access and analysis. client process The client-side part of a distributed application. client think time The time that is neither client processing time, network time, nor server time for a transaction. It is calculated by subtracting client processing time and remote time from the total response time. For example, client think time may reflect the time it takes the user to type text or pause between tasks.
Inaccurate Response Time Measurements connection-based application An application for which the require section of the resource definition refers to a DNS or Connection resource. When monitoring a connection-based application, Application Response monitors response times for network connections. D DBMS Database management system. A program such as Oracle, Microsoft SQL Server, or Sybase for creating and providing access to one or more databases. DNS Domain Name System.
Inaccurate Response Time Measurements E eHealth Web administrator A person who is responsible for managing and administering the eHealth Web server and the eHealth Web interface. eHealth Web interface A Web-based user interface that allows users to run and view reports and manage certain components of eHealth. elapsed time The amount of time that elapses during an entire transaction, from the moment the transaction begins to the moment it ends.
Inaccurate Response Time Measurements named events.btl, and it resides in the same directory as the recording agent. Also referred to as the event log. event type A category of events used when defining a transaction to Application Response. Event types include Connection, DNS, Outlook, Process, Session, Web, and Windows. Each event type supports different event actions.
Inaccurate Response Time Measurements filter In BT Studio, a method of hiding irrelevant information displayed in the events pane of the BT Studio main window. You can filter the events displayed in the events pane based on the values of any of the columns listed at the of the events pane. Filtering does not actually delete any information from the event log file. Rather, it hides information from the event pane, removing unwanted data from view to simplify the rule development process.
Inaccurate Response Time Measurements I idle time See client think time. import A method of copying information from one computer to another computer. For example, you can use a function of eHealth to import updated application rule sets from BT Studio to Application Response. IP Internet Protocol. The method (or protocol) by which packets of information are sent across the Internet. L latency A measure of delay, often network delay. M MB Megabytes.
Inaccurate Response Time Measurements A group of related modules (transactions). Certain eHealth reports summarize response time information for all transactions or modules that belong to a module set. N network time The time spent establishing network connections to complete a transaction.
Inaccurate Response Time Measurements R recognized event An event that Application Response and BT Studio recognize as part of a transaction definition. When testing rules in BT Studio, you can see a list of recognized events on the Recognized Events tab of the results pane. recording agent An agent (installed on a client system) that records information about all application activity in an event log file for later processing by BT Studio.
Inaccurate Response Time Measurements definitions listed in the require section of an application rule set are satisfied. resource A entity that generates activity that can be monitored by the AR agent, such as a process or a network connection. resource definition The section of an application rule set that defines required resources and additional resources for the application.
Inaccurate Response Time Measurements response path The connection between a response source (typically a client system) and a response destination (typically an application server) over which transactions travel. response source A response path endpoint from which users perform transactions, such as a client system. response time The elapsed time between a user request and the system response.
Inaccurate Response Time Measurements rules file A text file used by Application Response to identify an application and its transactions. The rules file is named eHealth.Rules.ard, and the file containing default rule sets is eHealth.DefRules.ard. rules pane The middle pane of the BT Studio main window, where you use the BT language to develop rule sets for applications. S server A program that provides services to other programs on the same and other computers.
Inaccurate Response Time Measurements T TCP Transmission Control Protocol. A connection-based protocol used along with the Internet Protocol (IP) to send data in the form of message units between computers over the Internet. template BT language text that provides the syntax for creating a transaction definition, event specification, or alternate rule set. When you select a template from a list, BT Studio inserts the text into the rule set. You then modify certain parts of the text as appropriate.
Inaccurate Response Time Measurements transaction limit A threshold for a transaction parameter. You can set transaction limits for elapsed time, reported time, bytes sent or received, and other parameters. If a transaction exceeds the limit, its response time data is omitted from reports. This prevents spurious transactions from skewing overall response time statistics, giving misleading results. You define transaction limits in the application rule set. U URL Uniform resource locator.
Index A P alternate rule sets • 19 application event source • 217 Application Response • 14 parameter list • 163 B recording agents • 16 resource definitions, syntax • 114 resource types • 181 response paths • 20 rule management • 89 rule set development • 51 rules and rule sets - BT Studio • 17 BT BT BT BT BT language • 113 language reference • 113 Marker • 14 recording • 43 Studio • 13, 15, 18, 19, 62, 241 R C S choice statement • 166 configuration, application and servers • 69 Connection Manag