General considerations for using Guidewire Profiler

Guidewire recommends that you keep the following considerations in mind as you design your profiler test runs:
  • Capture a limited amount of data
  • Use Alt+Shift+P for web profiling operations
  • Enable stack trace tracking
  • Create comparable test cases for before and after comparisons
  • Thoroughly document each test case

Capture a limited amount of data

If you are performing web profiling, Guidewire recommends that you structure your profiler test cases to capture data for a single round-trip to the application server only. The following are example of a round-trip sequence from the client browser (in which PolicyCenter runs) to the server (which processes the request) and back to the browser again.
  • Load (render) an application screen
  • Click a button on an application screen
  • Tab out of a screen widget that performs a post-on-change operation

The more information that the profiler captures, the more data it must store and load. Thus, it is important to minimize the number of actions or operations that occur during a single run of the profiler. Guidewire recommends that you profile a single button click or action only in the PolicyCenter screen in each profiler run.

Multi-trip profiler runs create the following problems:
  • A multi-trip profiler run has the potential to create large data sets that are difficult for the analyzer tool to load and analyze effectively.
  • More importantly, in a large data set, it is often very difficult to associate specific data with the specific action by the user that caused the profiler data.

Use Alt-Shift-P for web profiling operations

If you are performing web profiling, Guidewire recommends you always use Alt+Shift+P to open the web profiler directly from the PolicyCenter application screen that you want to profile. If you use Alt+Shift+P to open the web profiler directly from an application screen, you minimize the number of actions that the profiler records. Otherwise, if you use Alt+Shift+T to access Server Tools, from which you can navigate to the Guidewire Profiler > Configuration screen, you must then navigate back to the application screen that you want to profile. This adds many intermediate actions to the profiler data before you actually return to the screen and operation of interest.

Enable stack trace tracking

Stack trace tracking provides the following benefits:
  • A stack trace shows the exact widget or code that generates a specific database query.
  • Without this type of information, it is almost always difficult to pinpoint the root cause of a problem.
Guidewire recommends that you almost always enable stack trace tracking for the following profiler types:
  • Web profiler
  • REST API profiler
  • Web service profiler

Guidewire recommends that you carefully consider the use of stack trace tracking in profiling batch processes before you enable it. The use of stack trace tracking with batch process profilers can impact application performance.

Create comparable test cases

After you isolate and fix an issue identified by a profiler run, rerun the test case that identified that issue to determine if the provided fix indeed corrected the issue. However, keep in mind that the test cases that you run (before and after the issue fix) need to compare the same items. Thus, ensure that you do the following for both the before and after profiler test runs:
  • Use the same environment (server, server mode, database)
  • Use the same data
  • Run the before and after test cases as the same user
  • Access Guidewire Profiler in the same manner
  • Perform the exact same steps in both the before and after test cases.

For example, if you ran the first profiler in a test environment on an Oracle database as an administrative user, use the same test environment, database, and the same user to run the second profiler test.

Thoroughly document each test case

To create easily repeatable test cases, Guidewire recommends that you thoroughly document each test case:
  • Include screen shots of the affected application screen for Web profiling.
  • Document the environment, the exact data used in the test, and the user who performs the action in web profiling.
  • Document the exact sequence of steps to perform in the test case.