r15 - 2013-11-07 - 12:34:25 - LaraZiosiYou are here: TWiki >  Deployment Web > DeploymentTroubleshooting > PerformanceTroubleshooting > RTCClientPerformance > ProfileRationalTeamConcertClientForEclipse

new.png How to profile the Rational Team Concert client for Eclipse IDE

Authors: PerformanceTroubleshootingTeam
Build basis: RTC 4.0.x

Profiling allows you to get very detailed timing information about individual method calls in the Rational Team Concert Client for Eclipse IDE. Profiling is only recommended if you are trying to address a very specific performance concern, and typically you will want to supply the gathered information to IBM support for more investigation. In general, Profiling produces a very large amount of trace data. It is best to keep the profiling session as short as possible, and perform only the steps that are strictly required to reproduce the observed performance issue.

If you are using a standalone installation of the Rational Team Concert Client for Eclipse IDE, you can use the Eclipse Test & Performance Tools Platform Project (TPTP) profiling capabilities, which are freely available.

If the Rational Team Concert Client for Eclipse IDE is installed in the same Installation Manager Package Group with Rational Application Developer or Rational Software Architect (for WebSphere), you have the additional option of using a built-in profiling agent. See the technote How can you tell what is the exact cause of the slow response of the product?.

Eclipse Test & Performance Tools Platform Project (TPTP) installation prerequisites

  • The required TPTP software is included in the following products:
    • Rational Application Developer
    • Rational Software Architect
    • Rational Software Architect for WebSphere

Launching the Rational Team Concert Client for Eclipse IDE in profiling mode

Prepare the Rational Team Concert Client for Eclipse IDE for profiling

Prepare the Rational Team Concert Client for Eclipse IDE for profiling as follows:

  1. Open the file eclipse.ini, located in the RTC Client for Eclipse IDE installation directory.
  2. Determine what is the location of the JVM used (found after the -vm argument)
  3. Determine the version and the bitness of the JVM, by launching the command:
    java -version
    from the directory where the JVM is located
  4. If the RTC Client JVM version is 32bits, then you will need to use the 32bits profiler agent, if the RTC Client JVM is 64bits, you will need to use the 64bits profiler agent.
  5. The location of the Java profiler agents (referred to as Java profilers absolute path in the following sections) is as follows:
    For Windows:
    <<Eclipse Home>>\plugins\org.eclipse.tptp.platform.jvmti.runtime_<version>\agent_files\<os_platform>
    For Linux:
    <<Eclipse Home>>/plugins/org.eclipse.tptp.platform.jvmti.runtime_<version>/agent_files/<os_platform> 
  6. To profile the RTC Client for Eclipse IDE with the CPU Profiler in standalone mode, with filters contained in filters.txt and writing the results into log.trcxml, add the following line at the very end of the eclipse.ini file (after the -vmargs argument)
    For Windows:
    -agentpath:<Java profilers absolute path>\JPIBootLoader=JPIAgent:server=standalone,file=log.trcxml,filters=filters.txt;CGProf 
    For Linux the entire library file name must be used. So libJPIBootLoader.so should be used instead of JPIBootLoader or libJPIBootLoader:
    -agentpath:<Java profilers absolute path>/libJPIBootLoader.so=JPIAgent:server=standalone,file=log.trcxml,filters=filters.txt;CGProf 
  7. For example, for a Windows installation of RTC Client for Eclipse 64 bits, you would use:
    -agentpath:C:\eclipse-java-helios-SR2-win32-x86_64\eclipse\plugins\org.eclipse.tptp.platform.jvmti.runtime_4.6.3.v201102041710\agent_files\win_em64t\JPIBootLoader=JPIAgent:server=standalone,file=log.trcxml,filters=filters.txt;CGProf
  8. Save the eclipse.ini file.

Prepare the filters

Filtering is mandatory in this case: if you do not filter anything the RTC Client for Eclipse IDE will be unacceptably slow and the resulting log.trcxml file will be multiple Gigabytes just to complete the startup phase.

  1. Create a file called filters.txt in the same directory where eclipse.ini is located.
  2. Use the following contents to start with:
     
    com.ibm.team.* * INCLUDE
    * * EXCLUDE
    
    This means that all the methods of all the classes in packages that start with com.ibm.team are included, and all other methods are excluded. You might be able to restrict the filters further based on your knowledge of the problem area, or you might want to include some of the Eclipse packages if they are relevant to the problem at hand. For the full syntax of the filters, see Profiling an application in stand-alone mode.

Launch the RTC Client for Eclipse and reproduce the issue

  1. Open a command prompt.
  2. Change directory to the installation directory of the Rational Team Concert Client for Eclipse, so that the file filters.txt is found in the current directory.
  3. Launch the RTC Client for Eclipse from that directory.
  4. Reproduce the problem (note that the execution time will be significantly slower than normal, depending on how many methods you included in the filters). Make sure to keep the session as short as possible (do not include unnecessary operations, or reading the resulting data will be more difficult).
  5. Collect the file log.trcxml
  6. Remember to remove the additional line from the eclipse.ini file.

Read the profiling data

To read the profiling data, you need to launch one of the products listed in the Installation prerequisites section above. Then proceed as follows:

  1. Open the Profiling and Logging Perspective: Window > Open Perspective > Other > Profiling and Logging
  2. Right click on the Profiling Monitor view and select: Import > Profiling and Logging > Profiling file, as follows:
    ImportProfilingFile.jpg
  3. Wait for the file to be imported, then right-click on it and choose: Open with > Execution statistics. You will see results like the following:
    ProfilingResults1.jpg
  4. You can drill down to the individual method level. You can see how many times a method was called and how much time it took.ProfilingResults2.jpg
  5. This data helps in identifying which specific methods contribute to the performance bottleneck. For the interpretation of the data, you might want to contact IBM support and supply the generated file.

Related topics:

External links:

Additional contributors: Lara Ziosi

Questions and comments:

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r15 < r14 < r13 < r12 < r11 | More topic actions
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Ideas, requests, problems regarding the Deployment wiki? Create a new task in the RTC Deployment wiki project