RTI Questions, Answers, FAQs
1 Features, Requirements and Compatibility
1.1 Does RTI require any additional software to work?
RTI Browser requires 32-bit Java 5,6, or 7 to be installed. RTI Enterprise require 32- or 64-bit Java 5, 6, or 7 to be installed. You can download this from http://java.com/
1.2 What platforms does RTI support?
RTI Browser provides performance collection and analysis for browser-based web transactions. RTI Browser is available for Windows platforms (XP, Vista, Windows 7) and supports collecting performance data for Firefox v3.2-3.6 and Internet Explorer 6 through 9.
RTI Enterprise provides end-to-end performance monitoring from a click the browser to the database query in your app-server, back to the final page render. RTI Enterprise is currently supported on Windows and Linux.
See the System Requirements page
for the most current information.
1.3 What applications can RTI monitor?
RTI currently provides performance monitoring capabilities for the following:
- Web Browsers &emdash; Firefox and Internet Explorer
- Test Automation Frameworks &emdash; JMeter and soapUI
- Middleware Platforms &emdash; JBoss Community & Enterprise Middleware Platforms - Apache httpd, Tomcat, JBoss Platforms (Web, Application, Portal, BRMS, SOA, Messaging)
- Web Services
- Custom Java Applications
We’re constantly expanding our capabilities so contact us if you need RTI for additional applications and/or middleware such as WebLogic and WebSphere. We're all software people at heart and occasionally the documentation lags behind the development. Your best bet is to ask if you don’t see what you need: email@example.com.
1.4 Does RTI support 64-bit applications on Windows?
Yes. The RTI Enterprise collector automatically handles either 32- or 64-bit Java applications. The RTI Browser collector only supports 32-bit applications, but the default Windows Internet Explorer and Firefox programs are 32-bit, so they should just work. However, the RTI IE collector won't work on 64-bit Internet Explorer. Contact us
if you need that.
1.5 Can I use RTI Enterprise on both 32- and 64-bit applications on Linux?
Yes. RTI automatically recognizes whether 32- or 64-bit Java is starting up and uses the appropriate libraries.
1.6 Does RTI support WebSphere or WebLogic?
Not at this time (Version 3.4, January 2013); we're focusing on JBoss and Tomcat for now.
1.7 How does RTI address the following use cases?
1.7.1 Use Case 1 - 503 errors
Application is noticing 503 errors. We need to collect the appropriate data to trouble shoot the issue and identify whether Application Issue or Infrastructure Issue or both.
RTI deep dive will mark failed transactions (503) and trace the transactions through the servlet infrastructure and application code with appropriate custom EDFs. The trace will indicate the call path of the failure. Resource shortages are indicated by collected JMX metrics. DB issues may be determined from JDBC results.
1.7.2 Use Case 2 - Not meeting response-time SLA
Application is seeing slow performance and we are not able to meet the SLA from a performance point of view.
RTI deep dive will trace the transactions through the server infrastructure and application code with appropriate custom EDFs. The trace will indicate the call path of the transactions and the elapsed time in each segment. Resource shortages are indicated by collected JMX metrics. DB issues may be determined from JDBC results.
1.7.3 Use Case 3 - Very high resource utilization
Availiability of the Infrastructure is dropping for example there was high threads or low memory reported by our monitoring tools.
RTI lightweight profile gives an overview of the performance of all transactions/requests in an application. RTI deep dive traces transactions through application code and indicates where time is spent. RTI deep dive collects JMX metrics about thread count, heap usage, garbage collection cycles.
1.7.4 Use Case 4 - Identify Problem Transaction
We need to identify which flow with an transaction is slow (for example if we have ecommerce application where we do have search, add to cart) and what is the root cause.
RTI lightweight profile gives an overview of the performance of all transactions/requests in an application and shows which transactiosns are slow. From the lightweight profile you can launch deep dive trace to find out where transactions are slow.
1.8 What monitoring is provided by RTI out of the box?
The following Event Definition Files (EDFs) are provided in version 3.4 and configurable in the Events Editor. Those in bold are enabled by default.
- RTI-Bpel.edf - Coverage of Business Process Execution Language execution engine (RiftSaw) including graph nodes, activities and events.
- RTI-Bpm.edf - Coverage of Business Process Management flow graph execution including nodes, actions, commands, tokens, and events.
- RTI-Ejb.edf - Coverage of local and remote Enterprise Java Beans life-cycle operations of stateless, session, message, and entity beans.
- RTI-EjbCalls.edf - Coverage of local and remote Enterprise Java Beans invocations of stateless, session, message, and entity beans.
- RTI-Esb-additional.edf - Coverage of Enterprise Service Bus input and output filters, couriers, transforms, notifiers, composers and life-cycle operations.
- RTI-Esb.edf - Coverage of Enterprise Service Bus action pipelines, actions, service invokers, and scheduled actions.
- RTI-Gc.edf - Coverage of overall JVM heap statistics and garbage collector cycles.
- RTI-GcPools.edf - Coverage of individual JVM heap pool statistics.
- RTI-Hibernate-additional.edf - Coverage of entire Hibernate API.
- RTI-Hibernate-parameters.edf - Coverage of Hibernate parameter setting for queries.
- RTI-Hibernate.edf - Coverage of Hibernate queries.
- RTI-HttpServlet.edf - Coverage of HTTP servlet requests (GET, POST, …).
- RTI-JBossWS.edf - Coverage of Web Services requests and WSDL queries.
- RTI-Jca.edf - Coverage of Java Connection Architecture API.
- RTI-Jdbc-additional.edf - Coverage of entire JDBC API.
- RTI-Jdbc.edf - Coverage of JDBC connections, queries, commits and rollbacks.
- RTI-Jms-additional.edf - Coverage of entire Java Message Service API.
- RTI-Jms.edf - Coverage of Java Message Service message send, receive, request and message handling.
- RTI-Jsf.edf - Coverage of Java Server Faces requests.
- RTI-JspServlet-additional.edf - Coverage of Java Server Pages compilations.
- RTI-JspServlet.edf - Coverage of Java server Pages requests and life-cycle.
- RTI-Monitoring.edf - Base RTI monitoring, profiling and statistics.
- RTI-Portlet.edf - Coverage of port let life-cycle and requests.
- RTI-RestWS-additional.edf - Coverage of entire Representational State Transfer Web Service API.
- RTI-RestWS.edf - Coverage of Representational State Transfer Web Service re quests.
- RTI-Saaj-additional.edf - Coverage of entire SOAP Attachments for Java API.
- RTI-Saaj.edf - Coverage for SOAP Attachments for Java message building.
- RTI-Seam-additional.edf - Coverage of entire SEAM framework API.
- RTI-Seam.edf - Coverage of SEAM framework requests.
- RTI-Servlet.edf - Coverage of servlet requests (GET, POST, …).
- RTI-Spring-additional.edf - Coverage of entire Spring framework API.
- RTI-Spring.edf - Coverage of Spring framework requests and entity beans.
- RTI-Struts-additional.edf - Coverage of entire Struts framework API.
- RTI-Struts.edf - Coverage of Struts framework requests.
- RTI-Torque-additional.edf - Coverage of entire Torque framework API.
- RTI-Torque.edf - Coverage of Torque requests.
2.1 Where do I download from?
You can request a free trial on the download page
2.2 What do I install?
- RTI Enterprise on each Windows or Linux server where they will be running their Java-based applications.
- RTI Console on their Windows, Mac or Linux desktop machine, and
- RTI Browser (optional) on Windows where you run your IE or Firefox browser
These might all be the same machine. You should have gotten an e-mail with a link to a web site describing all this about the currently available version. If not, go to our Download page
and fill out a form, or contact us
2.3 How do I install?
It's all explained in the User's Guide
2.4 How do I install the license key you just e-mailed me?
A license key is a single line with no trailing whitespace ending in a newline. Put that single line into the file
on Linux or
on Windows. You can verify it with the RTI command
2.5 How do I Uninstall?
There are four aspects of RTI to consider:
- the instrumentation in your applications by RTI Enterprise;
- the RTI programs themselves: Console, Enterprise and maybe Browser;
- the data that RTI collected; and
- the JBoss ON or RHQ plugins, if applicable.
Each of these is described in the user's guide
2.6 How do I run RTI command-line commands on Windows?
Run "Start→All Programs→RTI→RTI Enterprise Cmd" which opens a 'cmd' window that is set up to run rti commands. You generally won't be needing this beyond the "rti edit" command described in the user guide, but the command
gives usage for all the commands.
2.7 How do I run RTI command-line commands on Linux?
In a bash-compatible shell window, do
where "/opt/ocsystems/rti/ee64" would be replaced by whatever your RTI installation directory ($RTI_HOME). You generally won't be needing this beyond the "rti edit" command described in the user guide, but the command
gives usage for all the commands.
2.8 Can I have multiple JBoss installations on the same machine instrumented with RTI? How?
Yes you can. Simply run the "rti edit" command on each one, naming its JBOSS_HOME value, for example:
rti edit -t jboss /opt/jboss-soa-p.4.3.0/jboss-as
rti edit -t jboss /opt/jboss-6.0.0.Final
2.9 I have several JBoss installations on the same machine, but they all seem to go into the same RTI collector called jboss_standalone.xml. Can I have each go to a separate collector?
The RTI default is to construct a collector name based on the JBoss server name, which is the same for all instance in this case (AS7 standalone mode). To collect the data for each instance in a separate collector with a unique name, create separate collectors for each JBoss installation before the JBoss instance run. This is the command you run for each JBoss installation:
rti create_collector -t jboss ID=jboss_xxxxxx HOME=/path/to/jboss
You would repeat this command for each instance substituting for xxxxxx the unique collector name and for /path/to/jboss the path to each JBoss instance (the directory above the bin directory).
2.10 Why do I get "command not found" when I do run "rti-enterprise-3.4-linux-x86.installer"?
If you are logged in as root, "." (the current directory) isn't generally in your PATH. Precede the installer name with "./" or "sh ".
2.11 When I run ./rti-enterprise-3.4-linux-x86.installer I get 'Permission denied.', but I'm signed in as 'root'?
When you downloaded the installer it may have lost its execute permission. Run it as: sh rti-enterprise-3.3.1-linux-x86.installer.
2.12 How do I install the rshd service on Windows if I skipped it during installation?
The easiest way is to re-install just the RTI Enterprise component on that computer. However, if that seems like overkill or you don't have the installer any more, you can do it manually as follows:
- Open Start→All Programs→RTI
- Right-click on 'RTI Enterprise Cmd' and select 'Run As Administrator'
- In the cmd window that opens, execute this exact command (that's an upper-case P at the end).
- "%RTI_HOME%"\rshd-1.7\src\rshd.exe" -install -r -P
- sc start rshd
- sc query rshd
- The last command should show the service running. You may have to add rshd program to your Windows or other firewall or open up port 514 in anti-virus software.
2.13 How to fix the RTI error on Windows startup after upgrading Java?
The program that shows the "RTI" icon is an Eclipse RCP program like the RTI Console, and requires a 32-bit Java installation. It selects the path to this at installation. If you delete that Java installation it will cause the "RTISystray" application to fail. The easiest way to fix this is to download and install a new RTI Browser -- the installation process will find a new Java if one is available. However, this requires that you close your browser windows. Alternatively, you can change the Java path being used by editing the file
C:\Program Files (x86)\OC Systems\RTI\Browser\RTISysTray\RTISysTray.ini
as administrator, and changing the path shown there to a similar path to a 32-bit Java executeable or jvm.dll that exists.
3 Enabling and Connecting
3.1 Why does this command fail:
rti edit -t jboss /opt/jboss-soa-p.4.3.0?
The given path must be the parent of the bin directory containing the "run.sh" script, for example:
rti edit -t jboss /opt/jboss-soa-p.4.3.0/jboss-as
3.2 I installed RTI Enterprise on a host, and I can connect from the RTI Console through JBoss ON to that host--why can't it find the RTI Enterprise installation?
It may be unable to locate the installation's RTI_HOME. You can explicitly tell it where RTI_HOME is as follows:
- Select the host name in the collectors view,
- right-click and choose Properties,
- fill in the RTI_HOME value for that host at the bottom, for example:
- click OK.
- Now then right-click on that host again and choose Activate/Deactivate Host; then
- right-click again and choose Refresh.
4 JBoss ON and RHQ
4.1 When I connect from the RTI Console to a host through JBoss ON, why does it gives a message that the RTI license expired?
This probably means it can't find the rti installation at all. See the next question.
4.2 How can I get more information about why JBoss ON/RHQ isn't finding RTI resources?
Enable JBoss ON agent debugging, force manual auto-discovery on the platform root node, then look in the agent log file for more information. See the next two questions for how to do this.
4.3 How do I enable JBoss ON/RHQ Agent debugging?
You can enable agent debugging by selecting the Inventory view, Resources→Platforms>→your platform)→RHQ Agent. Then right-click, choose Operations→Set Debug Mode, then choose "Yes" for both Enabled and Trace Messaging Parameters, then click Schedule button at the bottom of the Create New Operation Schedule view.
4.4 How do I force manual auto-discovery on a JBoss ON platform?
This is described in the user's guide
4.5 Are there any unified views in the JBoss ON Dashboard that show RTI information from all the platforms?
No. For now you have to look at each platform separately, by clicking Inventory, Resources, Platforms, then choosing the platform (host) of interest. However, the dashboard is user-customizable as described in the JBoss ON documentation.
4.6 Can I create alerts from the RTI Console?
No, the rti console is read-only with respect to JBoss ON configuration. See the user's guide
for how to create alerts in JBoss ON.
4.7 When defining an Alert Notification, I choose RTI Alert and get a small dialog. I click OK, but apparently no notification was defined?
It takes a few seconds to construct the RTI Alerts dialog. Unfortunately, it presents its OK button before it other controls appear. Wait until you see a big dialog with a number of Properties before proceeding.
4.8 In JBoss ON I see RTI Enterprise and 28 days left on license but when I click on the RTI Enterprise link to expand no RTI Collector resources show up. What am I missing?
You have RTI Enterprise and the accompanying JBoss ON plugins successfully installed. Now you must:
- enable RTI for your application(s) on that platform and
- restart the application(s) once after enabling to create the collector.
See the user's guide
5.1 How do Enterprise Collectors get created?
The Java-based enterprise collectors that are started by scripts--currently JBoss, JMeter, SoapUI?, and Tomcat--are "enabled" for RTI by edit these scripts, after which collectors are automatically created or activated as-needed whenever the script is run. Thus, the way to create a script for these is to choose a host and collector type, "edit" the script, and then (re)start the application.
So you need to:
- log in as a user with write permission to the scripts
- open a shell and execute these two commands:
rti edit -t tomcat $CATALINA_HOME # for example
That will edit the catalina.sh script to call rti_enable_tomcat.sh. Then you need to restart Tomcat and it should create a collector (or use the one you had previously) and you should then see processes and data:
rti get_collector_processes -t tomcat
rti list_collector_data -t tomcat
or you can run the console and it will issue the same kind of commands to update the Tomcat collector node.
Just to continue some more, for all the collector kinds except java and rcp, we have to do this "enable" step that consists of editing the start-up script for the tool to call the appropriate
script. That can be done: automatically at installation on Linux (and in the future maybe Windows) if the env variables are set up and the user opts to, from the console using the Enable page in the New Collector wizard. manually from an RTI shell with the "rti edit" command,
It's spread out like this because the user must have privilege to edit the tool scripts and that may not be possible for the console user. In those cases they will have to get privilege or do it on the server manually or during installation.
After doing the enable/edit the user will have to restart any running tool processes to get data. This is another reason they may need to do the operation on the server with privilege.
5.2 Why do I get a permissions error when trying to create a JBoss collector from the RTI Console?
There are two operations done when you create a JBoss (or other Java-based) collector: creating the collector objects within RTI, and enabling the JBoss application. This second step, enabling JBoss, requires write access to JBoss application files. That's why we recommend you enable JBoss as a separate step, from the command line, as a JBoss administrative user, as described in the user's guide
6 RTI Console
6.1 How do I copy a file to or from the RTI Console's Navigator view to a Windows folder?
When the RTI Console is first started, there is a shortcut created on the desktop label "RTI Drop Box" that points to the RTI Drop Box/RTI Data folder in the Workspace View at the lower left of the console window. This is an easy way to access files from both within the RTI Console and your Windows Explorer. In the absence of the RTI Drop Box link.
You can Copy out of Workspace Drop Box by copy and paste:
- Click to select the file under RTI Drop Box/RTI Data in the Workspace View
- Type Ctrl-C or do right-click→Copy.
- In the destination windows folder type Ctrl-V, or do right-click→Paste.
Copy into the Workspace Drop Box by drag and drop: Copy/paste as above will work, but this is easier. Simply select the file in the Windows Explorer, and holding the mouse down, drag it onto the folder (e.g., RTI Data) shown in the Workspace view.
6.2 Why does Linux RTI Console crash with a JVM core dump?
Check that your DISPLAY environment variable valid is valid. If Firefox can work, then RTI Console should also.
6.3 Why does Linux RTI Console context help (opened by ? buttons) launch a browser window instead of appearing within the app like it's supposed to?
Probably because the installed version of xulrunner is newer than that supported by the version of Eclipse SWT that RTI is built from (3.7/Indigo) See http://www.eclipse.org/swt/faq.php#browserlinux
7 Events and Properties
7.1 Why does the order look wrong in the tree table when I sort by Elapsed Time
Sorting is done independently at each level of the transaction tree. So all the Top-level transactions are sorted, then under each of those, it's direct children are sorted, and so forth. So if you look at an expanded tree it can look out of order. You can flatten the tree into a single linear list by doing a filter on "/".
7.2 Why is the Elapsed Time for some erroneous transactions so long?
Some "failed" (light red color) transactions are so marked because no stop event was ever seen. The stop time associated with them is the time at which the tab or window is closed, which could be a long time after it was started. The statistics associated with failed transactions are not generally reliable.
7.3 What is the meaning of the Elapsed Time and Data Length values I see associated with a shockwave-flash file corresponding to a YouTube video?
This are the load time and size of the actual .swf file. The file may then display an animation or streaming video which will not be measured by RTI, since what you see is not interacting with the browser itself in any way.
7.4 What does 304 means as a value for the "Cached" property?
For cached, 0 means "page requested, not cached"; 1 means "page retrieved from cached, not requested"; and 304 means "request made with "If-Modified-Since" header in request; and "304 Not Modified" was returned, so the page was then retrieved from cache.
7.5 How can I obfuscate IP addresses and names in RTI-collected data?
Use the RTI Console to:
- Export it as XML
- edit the XML file to substitute sensitive strings with similar
innocuous characters, and
- load it again into a new dataset.
7.6 How do I get a complete date/time to show in Excel from RTI-exported CSV file?
RTI allows you to export selected transactions from a transaction tree view in CSV format. When you open the exported .csv file with Microsoft Excel, you see only hours and minutes -- the date isn't visible.
Amazingly enough, Excel does not support automatically formatting a date/time with millisecond accuracy from a CSV file! You need to do a custom format in Excel to properly use the millisecond date/time exported by the Console in the CSV file, as follows:
Click here for a larger view
- Highlight column A
- Select "Format Cells..."
- On the Number tab select Custom under Category
- On the right, select any format in the list, say "m/d/yyyy"
- Edit the format immediately under "Type:" to read "m/d/yyyy h:mm:ss.000"
- Click OK.
Now column A gives the date/time with millisecond precision.
8 Events Editor
8.1 How can I see methods from my application in the RTI call profile and deep-dive trace?
Use the Collector Configuration Editor as described in the user's guide
8.2 Does RTI support the blotz framework/API?
If you don't see RTI-blotz
.edf in the Collector Configuration Editor's "Events" tab, then the answer is probably no. But we might be able to whip something up for you, or provide guidance on how you could add it yourself. Please contact firstname.lastname@example.org
8.3 When I 'Inject' changes, when do they take effect?
Changes may take effect immediately, periodically, or only on restart, as follows:
- Changes to the list of selected EDFs and probes, and changes to the contents of those EDFs and probes, take place immediately upon injection, subject to minor delays if updated methods are currently being executed.
- Changes to the Trace Policy properties about what is logged under what conditions, are picked up approximately once per minute, more or less accurately depending on the frequency of data logging.
- All others take effect only when you restart the application.
8.4 What is the correct way of adding methods while creating a custom EDF file? The goal is to be able to add by package name and NOT by individual methods.
To add by package, you:
- right-click on the RTI event, just like adding a single method,
- the Add Method dialog opens.
- you type in a wildcard pattern in the Additional Method field (with the quotes):
- "com.my.package.*::*" // for all methods in all classes in a package
- "com.my.package.MyClass::*" // for all methods in a class
- "com.my.package.MyClass::myMethod(*)" // for a specific method
- click OK
If you trace too many methods you will introduce too much overhead to give you very accurate timings. Avoid low-level methods and favor API-level methods.
9 Browser (IE, Firefox) Collector Plugins
9.1 Can I install the Browser Collector(S) without the Console?
Yes, and it will collect data from your browsers that can be viewed by other RTI Consoles.
9.2 Can I look at the collected data without using the RTI Console?
The .rti files are XML text, but they're not very readable. Contact us for an rti2csv tool which might help.
9.3 Why didn't Firefox collect any RTI Events?
There are a few possible reasons:
- RTI doesn't support your version of Firefox. As of version 3.3.2, only Firefox version 6 and below are supported. Contact RTI support if you need a newer version to be supported.
- You didn't restart Firefox after the installation. Try that now.
- The RTI System Tray is Disabled, causing RTI to specifically not collect Events. Make sure it is enabled:
- The plugin is broken or incompatible. Contact [[mailto:email@example.com][firstname.lastname@example.org so we can help you figure it out.
- There was a permissions problem writing to the expected output path:
RTI Firefox and Internet Explorer Collectors write under a sub-folder in %USERPROFILE%. You can change this behavior by editing
and modifying the parameter RING_LOG_DIR to a safe location; for example
. Restart Firefox and verify there are now .rti files contained in
9.4 Does a top-level IE event always correspond to an interactive user action?
Not always. On pages with sophisticated dynamic content, transactions can be initiated that are impossible to relate back to the last user-initiated transaction that caused them. However, if you have reproducible output which doesn't look right, please report a bug
9.5 Where did my RTI data from last week go?
In its default configuration, the Browser collector only keeps data for seven days or up to a limit of 32MB. See the next question.
9.6 How do I change how much or how long RTI data is saved?
If you want to keep more data, change the parameters. Here you can change the values of TOTAL_RING_SIZE, RING_SIZE, and KEEP_DAYS, respectively.
NOTE You must restart your browser(s) to pick up the changed configuration.
9.7 What is an "ARM Ring?"
By a "ring" of files, we mean a fixed-size group of files, such that each file is approximately the same size, and the oldest is deleted when creating the newest. There is always one more file than the stated ring size. For example, if ARM Ring Size is listed as 1, there's never more than 1 file in addition to the one being written to. If the Arm Ring File Size is 8388607, then when a transaction is recorded which brings the current file size at or above 8MB, that file is closed. If there's already an existing data file for the current process it is deleted, and then new file with the next sequence number is opened.
9.8 How do I change RTI Browser Collector configuration?
Using the RTI Console, right-click on the Localhost→IE or Firefox collector, and choose Edit Configuration... to see the Properties page. Note that both IE and Firefox share the same configuration information: changing one changes them both.
The properties are are as described here
9.9 How much data does RTI keep by default?
When you re-start Internet Explorer, it deletes data files changed more than 7 days before. For each IE process, the default is to keep 2 8MB data files, or about 10,000 transactions. These settings can be changed in the Properties page for the IE or Firefox collector
10 Reporting Bugs
We've built lots of support into RTI for collecting internal data to help us figure things out, so here's what to do...
10.1 Where do I send bug reports?
Attach all data in any compressed format to an e-mail describing the problem:
- Compose an new e-mail to email@example.com.
- Attach the rtiinfo-*.zip, rtilog.txt, or other files to the e-mail message
- Write in the message an explanation, as detailed as possible, describing what happened and why you think it's a problem.
- Verify that the attachment is there, then click Send.
10.2 How do I gather data about a bug seen using the RTI Console?
Under the RTI Console, there is Help→Problem Report. Try that first, and send the file it tells you it creates.
10.3 How do I gather data about a bug against the Enterprise collectors?
The RTI Console's Help->Problem Report will gather data about all connected hosts and collectors, but if the problem isnt' with something you're currently connected to, then:
- Send the stdout/stderr (console) output from the RTI-instrumented application.
- For this reason it's important to try to capture this output whenever running with RTI.
- Send %PROGRAMDATA%\OCS\RTI\EE\log\rtilog.txt if its available.
- Compress data files with zip or tar+gzip if possible