Profiling Browser-Hosted Code

Applies to AQTime 8.81, last modified on January 18, 2022

In order for AQTime to be able to profile your code, it must either launch the profiled application, or attach to it at runtime. This way, AQTime will be able to monitor events and function calls that will occur in your application.

To enhance browsing security, modern web browsers use several processes per each browser process. For instance, Microsoft Internet Explorer 8 uses an individual process for each tab. In order for AQTime to be able to profile your code, it needs to know the browser’s process to which this code is loaded.

To determine the process to be profiled, AQTime waits for certain notifications from the browser. These notifications “tell” about the process to be profiled. Once AQTime receives these notifications, it attaches to the appropriate process of the browser and profiles it.

However, in some cases, the browser does not send notifications, so AQTime is unable to determine the process to be profiled. In this case, you can use the “Attach-to-Process” command to connect AQTime to the needed process. The drawback of this solution is that you must know the name of the needed process.

If you do not know to which process to attach, try using the Consider the browser to be a single process setting of AQTime. When this setting is disabled (default), AQTime uses browser notifications to determine the process to be profiled. When the setting is enabled, AQTime considers the browser uses only one process - the process that is launched from AQTime. The entire procedure includes the following steps:

  1. Switch your web browser to one-process mode. For detailed information on how to do this, see the browser documentation. For instructions for Microsoft Internet Explorer version 8 and higher, see Profiling Scripts - Prerequisites.

  2. Configure your AQTime project so that AQTime launches a browser process. You can do this by adding the browser’s executable as the main module to the project, or by specifying the browser executable as a host application in the Run Parameters dialog.

  3. Enable AQTime’s Consider the browser to be a single process option. To find it, select Options > Options from AQTime’s main menu and then choose the General > General Preferences group in the ensuing Options dialog.select Tools > Options from the main menu of Visual Studio and then choose the AQTime > General > General Preferences group in the ensuing Options dialog.select AQTime > Options from the main menu of Embarcadero RAD Studio.

    Important: If you enable the setting, you must ensure the browser uses only one process and it is launched from AQTime. Enabling the setting, but ignoring two other requirements is meaningless.
Note: By default, it is recommended to start profiling with the setting disabled. You can enable the option if AQTime is unable to profile your code loaded to the browser process.

See Also

Profiling Various Applications and Code
General Preferences Dialog

Highlight search results