Sun Identity Manager 8.1 Release Notes

Using the Profiler

This section describes the features of the Profiler graphical user interface, and how to use these features. The information is organized as follows:

Specifying the Profiler Options

The Profiler Options dialog consists of the following tabs:

Use the options on these tabs to indicate which objects to profile and which elements to display in the profile.

After specifying the Profiler options, click OK to start the Profiler. Depending on your project configuration, the Profiler does one of two things:


Note –

You can select IdM -> Set Identity Manager Instance to control the Identity Manager Instance action for the project.


Mode

The Mode tab provides the following options:

IDM Object Filters

The IDM Object Filters tab provides the following options:

Java Filters

Select the Java Filters tab to

Java filters are given in terms of method patterns, and they are expressed in patterns that include or exclude based on canonical method name. Where a canonical method name is:

fully-qualified-class-name.method-name(parameter-type-1, parameter-type-2, ...)


Note –

For constructors, method-name is <init>.


Here are a few examples:


Note –

The last two examples are currently equivalent because the filters are applied only to your custom classes and Identity Manager classes.


If necessary, you can instrument other jars by modifying the following lines in build.xml as appropriate. For example,


<instrument todir="${lighthouse-dir-profiler}/WEB-INF" 
verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" 
excludeMethods="${profiler.excludes}">
           <fileset dir="${lighthouse-dir}/WEB-INF">
               <include name="lib/idm*.jar"/>
               <include name="classes/**/*.class"/>
           </fileset>
</instrument>

By default, the configuration includes all your custom classes and most Identity Manager classes. A number of Identity Manager classes are forcibly excluded— because enabling them would break the Profiler.

For example, classes from the workflow, forms, and XPRESS engines are excluded or the Profiler would produce an unintelligible snapshot when profiling Java and Identity Manager objects.

Note that Java filters provide much more filtering granularity than IDM Object Filters. Java instrumentation adds significant overhead to the execution time, which can drastically skew the profiling results. Because Identity Manager objects are interpreted rather than compiled, the instrumentation overhead is negligible. So for example, there is basically no reason to exclude workflow A and include workflow B, and so forth.


Note –

You cannot modify Java filters while the Profiler is running. You must stop the Profiler before changing Java filters.


Miscellaneous

The Miscellaneous tab provides the following options:

Working with the IDM Profiler View

The IDM Profiler view consists of the following areas:

Current Project Area

The Current Project area consists of a drop-down menu that lists all of your current projects. Use this menu to select the project you want to profile.

Controls Area

The Controls area contains four icons, as described in the following table:

Icon 

Name 

Purpose 

Figure showing the Start Identity Manager Profiler icon

Start Identity Manager Profiler 

Starts the Profiler and opens the Profiler Options dialog. 

Figure showing the Stop Identity Manager Profiler icon

Stop Identity Manager Profiler 

Stops the Profiler. 

Figure showing the Reset Collected Results icon

Reset Collected Results 

Resets all of the profile results you collected to this point. 

Figure showing the Modify Profiling icon

Modify Profiling 

Reopens the Profiler Options dialog so you can change any of the settings to modify your current profile results. 

Status Area

The Status area reports whether you are connected to the Host and provides Status information as the Profiler is starting up, running, and stopping.

Profiling Results Area

The Profiling Results area contains two icons, which are described in the following table:

Icon 

Name 

Purpose 

Figure showing the Start Identity Manager Profiler icon

Start Identity Manager Profiler 

Starts the Profiler and opens the Profiler Options dialog. 

Figure showing the Reset Collected Results icon

Reset Collected Results 

Resets all of the profile results you collected to this point. 

Saved Snapshots Area

The Saved Snapshots area provides a list of all saved snapshots.


Note –

Instructions for saving snapshots are provided in Saving a Snapshot.


In addition, you can use the following buttons to manage these snapshots:

Working with the Snapshot View

When you open a snapshot, the results display in the Snapshot View window, located on the upper right side of Identity Manager IDE.

A snapshot provides several views of your data, which are described in the following sections:

Call Tree View

Call Tree view consists of a tree table showing the call timing and invocation counts throughout your system.

This tree table contains three columns:

Hotspots View

Hotspots view provides a flattened list of nodes that shows aggregate call timings regardless of parent.

This view contains the following columns:

Back Traces View

Back Traces view provides an inverted call stack showing all the call chains from where each node was called.

You can use these statistics to answer the question— How much time would I save if I eliminated this particular call chain from this node?

You can access the Back Traces view from any of the other snapshot views by right-clicking a node (known as the root node) and selecting Show Back Traces from the pop-up menu.


Note –

The Time and Invocations data values mean something different in Back Traces view:


Callees View

Callees view provides an aggregate call tree for a node (known as the root node), regardless of its parent chain.

These statistics are helpful if you have a problem area that is called from many places throughout the master call tree and you want to see the overall profile for that node.

You can access the Callees view from any of the other snapshot views by right-clicking a node (known as the root node) and selecting Show Callees from the pop-up menu.


Note –

The Time and Invocations data values used in Callees view have the same meaning as those used in Call Tree view.


Using the Pop-Up Menu Options

Right-click any node in Call Tree view or in Hotspots view and a pop-up menu displays with the options described the following table:

Menu Options 

Description 

GoTo Source 

Select this option to view the XML source for a node that corresponds to a Java method, workflow, form, rule, or XPRESS. For detailed information about this view, see How the Profiler Locates and Manages Source.

Show Back Traces 

Select this option to access the Back Traces view. For detailed information about this view, see Back Traces View.

Show Callees 

Select this option to access the Callees view. For detailed information about this view, see Callees View.

Find In Hotspots 

Select this option to find a node in the Hotspots view. For detailed information about this view, see Hotspots View.

List Options -> Sort -> 

Select this option to 

  • None

  • Call Tree

  • Time

  • Invocations

  • Ascending

  • Descending

List Options -> Change Visible Columns 

Select this option to change the columns displayed in the Call Tree or Hotspots list. 

When the Change Visible Columns dialog displays, you can select one or more of the following options: 

  • Call Tree: Call Tree

  • Invocations: Invocations

  • Time: Time

Searching a Snapshot

Use the Search iconFigure showing the Search icon , located at the top of the Snapshot View window to search for nodes by name the Call Tree view or Hotspots tree.

Alternatively, right-click any node in Call Tree view or Hotspots view and select Find in Call Tree or Find in Hotspots (respectively) from the pop-up menu to search for a node.

Saving a Snapshot

The Profiler provides several options for saving a snapshot. See the following table for a description of these options:

Icon 

Name 

Purpose 

Figure showing the Start Identity Manager Profiler icon

Save the Snapshot in the Project icon (located at the top of the Snapshot View window) 

Saves the snapshot in the nbproject/private/idm-profiler directory of your project. Snapshots saved in your project are listed in the Saved Snapshots section of the Profiler view.

Figure showing the Stop Identity Manager Profiler icon

Save the Snapshot Externally icon (located at the top of the Snapshot View window) 

Saves a snapshot to an external, arbitrary location. 

Figure showing the Reset Collected Results icon

Save As button (located in the Saved Snapshots area) 

Saves a snapshot to an external, arbitrary location.