Adobe Flex 3 Help

About profiler filters

The amount of data in a profiler view can sometimes be overwhelming and the level of detail can be too great. The internal actions of Flash Player might obscure the data that you are truly interested in, such as your own methods and classes. Also, Flash Player creates and destroys many objects without your direct interaction. Thus, you could see that thousands of strings or arrays are being used in your application.

You can set filters in the following views:

  • Live Objects
  • Memory Snapshot
  • Performance Profile
  • Method Statistics
  • Allocation Trace

You can define which packages should appear in the profiler views. You do this by using the profiler filters. There are two types of filters:

Exclusion filters The exclusion filters instruct the profiler to exclude from the profiler views packages that match the patterns in its pattern list. If you use charting controls, for example, but do not want to profile them, you can add the mx.charts.* pattern to the exclusion filter.

Inclusion filters The inclusion filters instruct the profiler to include in the profiler views only those packages that match the patterns in its pattern list. If you have a custom package named com.mycompany.*, for example, you can view details about only classes in this package by adding it to the inclusion filter.

The default exclusions are flash.*.* and mx.*.*, and the Flex framework classes in the global or unnamed package. These include global classes such as String and Array. This means that the default inclusions are user-defined classes in the unnamed package and user-defined classes in nonframework packages (such as com.mycompany.MyClass).

You can exclude user-defined classes that are in the unnamed package from the profiling data. To do this, add "*" to the exclusion list.

Set default filter preferences

 Open the Preferences dialog and select Flex > Profiler > Inclusion Filters or Exclusion Filters.

Inclusion and Exclusion Filters dialog box.

When displaying profiler data, the profiler applies the exclusion filters first; then it applies the inclusion filters. For example, suppose you set the exclusion filter to mx.controls.*, but set the inclusion filter to mx.*.*; the profiler does not show details about any classes in the mx.controls package because that package was excluded, even though their pattern matches the inclusion pattern list. Similarly, suppose you set the exclusion filter to mx.*.* and the inclusion filter to mx.controls.*; the profiler does not show details about any classes in mx.controls.* package because they were excluded before it was included.

When you filter out certain data points, the percentage values of columns are adjusted to reflect only the percentage of nonfiltered data.

The profiler maintains filters from one profiling session to the next for the same application.

The filter settings are not inherited by subviews. For example, if you apply a filter to the data in the Memory Snapshot view, and then navigate to the Object References view by double-clicking a method, the Object References view does not apply the same filter.

Determine whether data is being filtered

  1. Click the Filter button or look at the titles of the data tables. If there are filters applied, the Package column's heading is Package (Filtered).
  2. (Optional) Reset the filters to the default by clicking the Restore Defaults button.