Please enable JavaScript to view this site.

Performance Validator Help

Navigation: The User Interface > Settings > Data Collection Settings > Data Collection

Performance Collectors

Scroll Prev Top Next More

The Performance Collectors page allows you control how performance data can be conditional collected.

 

performance-collectors-settings

 

 

Collectors

 

When collecting performance data you may want to concentrate on very specific parts of your application.

 

Collectors allow you to switch data collection on or off as the program enters a named function. The collection state before entry is resumed on function exit.

 

The initial collection state, i.e. before entering any collectors, can be set on or off.

 

note Changes to the collectors will apply to the next session, not the current session.

 

note Data collection is subject to the other global data collection flags.

 

seeAlsoSee the question on using Performance Collectors or Class & Function Filters?

 

 

Example use of collectors

 

Example 1

 

Consider an imaginary application where only the myApp::sortThisData() function and all functions called from it are of interest.

 

You would configure Performance Validator to initially not collect performance data, by selecting Collection of performance statistics is normally OFF until modified by a collector.

 

You'd also add myApp::sortThisData to the list of collectors and set the status to Collect.

 

Now when the application reaches myApp::sortThisData the collection of performance data is turned on because of that Collect status.

 

The application runs as normal, and performance data is collected until the function myApp::sortThisData finishes executing.

 

At that point the previous collection status (OFF) is restored.

 

 

Example 2

 

Consider a simple application that calls two different sorting algorithms doSort1 and doSort2 as in the call sequence below:

perf-collector-example-flow

Imagine you're only interested in the performance of the algorithm doSort1, but none of the other application code.

 

You'd set MyApp::doSort1 as a collector, triggering data collection to turn on only whilst in that function and any of it's children.

 

perf-collector-example

 

Another way to look at this is to say that you're interested in the pre(), compute() and post() functions, but only if called from doSort1().

 

 

You can add multiple triggers to switch collection on for methods of interest or to switch collection off to eliminate unwanted data.

 

 

Initial collection state

 

The initial collection of data can be on or off until a collector is visited

 

Collection of performance statistics is normally ON... instructionStep  collect performance data until switched off by a collector

 

Collection of performance statistics is normally OFF... instructionStep  prevent data collection until switched on by a collector

 

 

Managing the list of collectors

 

Add instructionStep adds a row to the Collectors table instructionStep enter the class::method name and the desired collection status

 

The two status options are Collect and Don't Collect.

 

 Collectors are enabled by default. Use the yellow checkbox at the start of the line to disable it without having to remove it from the list.

 

collectors-example

 

Remove instructionStep removes any selected collectors in the list

 

Remove All instructionStep clears the list

 

Enable All instructionStep enables all collectors in the list

 

Disable All instructionStep disables all collectors

 

 Don't confuse the collection status (second column) and the enabled status (checkboxes)

 

 Disabled collectors don't affect the performance data collection status.

 

 

Reset All - Resets all global settings, not just those on the current page.

 

 

Reset - Resets the settings on the current page.