IBM Software Group | Rational software Agenda Profiling Enhancements New native platforms for Rational Agent Controller since RAD 7.5 Single RAC version supporting both RAD 7.5.x and RAD 8.0 Easy remote profiling configuration Complicated and version dependent environment variables are a thing of the past Memory Analysis Instance data for objects on the heap can be investigated –Inspect/save data Code Coverage Dynamic Instrumentation Integrated out of the box WAS capability Rational Team Concert Integration
IBM Software Group | Rational software 3 What is Profile on Server? Profile on Sever is an integration of the profiling capability in RAD with Server Tooling for WebSphere Application Servers (WAS) profiling. Similar to Run and Debug on Server. Requires an Agent Controller (AC) running on the target machine. Users start the profile action from a web resources or a server instance in Server Views.
IBM Software Group | Rational software 4 Agent Controller A daemon process that enables client applications to launch host processes and interact with agents that coexist within host processes. An Agent Controller is required to be running on the target machine being profiled Integrated Agent Controller (IAC) is embedded in RAD for local use case. No additional installation, Automatically enabled. Start and stop on demand. Standalone Rational Agent Controller ( RAC) is required for remote profiling. Requires additional installation on target WAS machine.
IBM Software Group | Rational software Expanded platforms supported by RAC from 2 to 14 since RAD 7.5 GA! Windows – 32 & 64 bit Linux – 32 & 64 bit z/OS – 31 & 64 bit Linux on System z – 31 & 64 bit AIX – 32 & 64 bit Solaris SPARC – 32 & 64 bit Solaris x86 – 32 & 64 bit RAC 8.3 releases coincidentally with RAD 8.0. RAC 8.3 supported for use with RAD 7.5.x RAD 8.0 supported with RAC 8.3+ Single RAC version to support both RAD 8.0 and RAD 7.5.x IBM Rational Agent Controller (RAC)
IBM Software Group | Rational software Profiling on different versions of WAS WAS versionJRE shippedJava Profiler Available 6.0.x1.4.2‘Java Profiling – pre JRE 1.5’ 6.1.x1.5‘Java Profiling – pre JRE 1.5’ ‘Java Profiling – JRE 1.5 or newer’ 7.0.x6‘Java Profiling – JRE 1.5 or newer’ 8.06‘Java Profiling – JRE 1.5 or newer’ Pre JRE 1.5 – JVMPI Profiler JRE 1.5 or newer – JVMTI Profiler
IBM Software Group | Rational software New in RAD v8 – Easy profiling setup Big win for usability! Environment variable configuration no longer required Local profile on server: JVMPI (Java Profiling – pre JRE 1.5; WAS 6.0, 6.1) –Requires write access to WAS_ROOT\java\jre\bin folder –Available in RAD 8.0 and also RAD 22.214.171.124 JVMTI (Java Profiling – JRE 1.5 or newer; WAS 6.1+) –Available since RAD 7.5.3 Remote profile on server: Requires: RAC 8.3 installed on remote machine, RAD 8.0 or later Remote JVMPI still requires env. vars (“Java Profiling – pre JRE 1.5”)
IBM Software Group | Rational software New in RAD v8 – Easy profiling setup – Smart detection if older RAC is used in remote cases
IBM Software Group | Rational software Memory Analysis Memory Analysis is a profiling analysis type for Java 1.5+ which displays collected data about Objects during application execution Instance data collection is a new option that can be enabled during Profiling. It provides the ability to inspect the composition of Objects, including obtaining the live Object values, member names and instance size during the profile session. The data that has been collected can be exported
IBM Software Group | Rational software Select Memory Analysis Option
IBM Software Group | Rational software Enable Instance Data Collection
IBM Software Group | Rational software Inspect Collected Object Data
IBM Software Group | Rational software Export Collected Object Data The data, such as in the example below, can be exported and used for comparison. … Value 1 Key 1 Value 2 Key 2 …
IBM Software Group | Rational software Code Coverage Provides detailed information on what code paths have been encountered during program execution Powerful tool to help determine xUnit test coverage, potential dead code Command line and Ant capability for build integration JUnit, code coverage data collection and html report generation
IBM Software Group | Rational software Code Coverage for Web Applications (RAD 8.0) Server integration Easier to configure a server to collect statistics. Default filter set for server – focus on your code. Refresh Interval Get updates to coverage statistics as you interact with the Web application. Configurable Module Detection Automatically determines if different module projects have been deployed to server. Dynamically configures server to collect coverage statistics in run and debug mode.
IBM Software Group | Rational software Code Coverage for Web Applications (RAD 8.0) Advantages for user Simplifies the server integration and configuration Results integrated into RAD workbench Can use existing tools to analyze statistics on a project (example: reporting)
IBM Software Group | Rational software Code Coverage + RTC - metrics help identify shortfalls Process feedback The project lead will see that the code coverage results are at expected levels and resolves the defect Work item resolved Developer checks code into a build and resolves defect when he sees the code coverage results for the build Problem determination Developer reviews build results and imports the code coverage results directly into the source code to see what source is missed during the test runs New tests added New tests are added to cover the code that has not been covered by previous tests. Runs tests locally to ensure improved coverage Development A defect is opened against the build that had the noticeable code coverage level drop Process feedback Project lead notices a drop in code coverage from previous build Rational Application Developer + Rational Team Concert
IBM Software Group | Rational software Code Coverage Integration with RTC (RAD 8.0) Build system integration Installable RTC Build System extension “Rational Application Developer Code Coverage tools for Rational Team Concert Builds” Separate offering that needs to be installed Creates code coverage statistics for BVT tests Data grouped with build results … Build Machine 1 Build Machine 2 Build Engine Code Coverage Extension Code Coverage Extension
IBM Software Group | Rational software Code Coverage Integration with RTC (RAD 8.0) Client side RTC Build details viewer extension – RAD and Web browser Show summary of code coverage statistics Additional Code Coverage tab to show detailed coverage statistics report Integrated work item search and creation Import to local workspace for rich viewing in navigator and source views
IBM Software Group | Rational software Advantages for user Provides a quick way to see the change in coverage as a project is modified Provides simple tasks to create and manage work items related to coverage results Can use existing tools to analyze statistics on a project (example: reporting) Code Coverage Integration with RTC (RAD 8.0)
IBM Software Group | Rational software Code Coverage with Dynamic Instrumentation (RAD 8.0) Old: Static instrumentation (RAD 7.5.x) Modifies bytecode of a.class files Occurs before the application is executed Instrumented all.class files in project New: Dynamic instrumentation (RAD8.x) Modified the bytecode in-memory Occurs when the class is loaded by the JVM Only the classes that are loaded are instrumented Scenarios Only dynamic instrumentation now available in the RAD workbench Static and dynamic instrumentation options are available in Ant and command line environments.
IBM Software Group | Rational software Code Coverage with Dynamic Instrumentation (RAD 8.0) Advantages for user Only need to maintain one set of class files Can limit data collection with instrumentation filters
IBM Software Group | Rational software Choosing the right RAC releases Windows and Linux – Profiling on JRE 1.4, 1.5 and 1.6 (WAS v6.0.x, v6.1.x, v7.0.x & v8) Use RAC v8.3 (can also use RAC v8.2.x) AIX, z/OS, Solaris SPARC, Solaris x86 and Linux 390 – Profiling on 1.5 and 1.6 (WAS v6.1.x, v7.0.x & v8) Use RAC v8.3 (can also use RAC v8.2.x) – Profiling on 1.4 (WAS v6.0.x) Use RAC v7.x (can also use RAC v8.0 or v8.1.x for AIX which has same content as RAC v7.x) Bitness of RAC has to match the bitness of WAS server being profiled Consult the Available RAC releases document for the RAC version to use http://www-01.ibm.com/support/docview.wss?uid=swg27013420
IBM Software Group | Rational software Launch profile on server
IBM Software Group | Rational software Launch profile on server
IBM Software Group | Rational software Selecting different profiler
IBM Software Group | Rational software Profiling view
Your consent to our cookies if you continue to use this website.