AQtime 6.0 - New Features List
More about AQtime
New in AQtime 6
Below is a list of changes made to AQtime 6 relative to previous version of the product.
Overall Improvements
Profiling scripts. Now you can use AQtime to profile scripts executed by the Microsoft Scripting Engine. These, for example, include VBScript and JScript routines located on web pages as well as TestComplete scripts. To profile a script, you should launch the host application under AQtime and then execute the script in that application. AQtime recognizes the script’s activity and reports its results along with the application results. Currently, scripts can be profiled with the Performance, Coverage and Function Trace profilers.
Optimization of function parameters retrieval. The Function Trace profiler has been optimized to increase its performance when gathering the values of function call parameters. In previous versions, such values were collected from the entire application (if the Get parameter info profiler option was enabled). As a result, a lot of memory required to collect the results, which slowed down the profiling process significantly.
In AQtime ver. 6, this feature is in the profiling area settings. Now including areas have the Retrieve parameter values property. If the property is enabled, the Function Trace profiler logs only the actual parameter values for the functions that belong to the area. Thus, the profiler inspects only the routines you are interested in.
Filtering out standard units. Most development environments include their standard libraries in applications. The library routines perform a lot of auxiliary tasks, interact with classes and controls, draw forms, and so on. However, generally, profiling of standard units does not make sense, as their code cannot be modified. To focus only on your code, you can exclude standard libraries from profiling. This functionality can be enabled via the Exclude standard units option, or via the Exclude Standard Units button of the Setup panel.
Extended .NET code debugger. AQtime can now obtain a call stack for .NET routines, trace specific .NET events and display this information in the Event View panel. This functionality is available if the Use extended debugger for managed code option is enabled.
New Profilers
New Reference Count Profiler. AQtime includes a new Reference Count profiler that has been improved greatly in version 6. With its help you can trace references to interface objects (that is, the objects that implement the
IUnknown interface or its descendants). Analyzing the number of references and the way they are created and removed, you can track unreleased or prematurely released interface objects.
New BDE SQL Profiler. Using a new BDE SQL profiler, you can time the execution of stored procedures and queries made to the databases via the Borland Database Engine.
Allocation and Resource Profiler Improvements
Allocation profiler support for release versions of Visual C++ applications. In previous versions of AQtime, the Allocation profiler could retrieve data from Visual C++ applications compiled in the Release configuration only if the application was prepared in a special way in advance. Now these preparations are not required.
Tracing attempts to access released memory blocks. The Allocation profiler has a new Fill released memory blocks option that overwrites the released memory with invalid data, so an attempt to read data from a released block will result in an error. Using this feature you can easily detect functions that read data from
de-allocated memory blocks.
Changes in the algorithm of checking bounds of memory blocks. The algorithm was improved to perform memory verification not only on block re-allocation or release, but also on retrieving results and on terminating the application. This helps to pin-point violations of memory block bounds even in case of memory leaks (that is, when the corresponding blocks were not released).
GDI Plus support for the Resource profiler. The Resource profiler contains a new GDI+ Resources category. Using this category, you can track the execution of GDI+ functions.
Other Improvements
The data shown in the Call Tree panel can now be stored in a separate file. This can be done via the Save All context menu item. Also, the panel’s context menu has two more items, Expand All and Collapse All, that expand and collapse all of the nodes of the call tree.
The Event View panel has several improvements:
By default, AQtime detects all the exceptions that occur in the profiled application and logs them in the Event View panel. By using the new Exception filter settings you can specify Win32 exceptions that will be ignored.
By using the new Generate Process Dump item of the Event View panel’s toolbar, you can command AQtime to generate files that contain information about the profiled application, for example, a memory dump, CPU register values, information about loaded modules, threads and a call stack for each thread. You can then analyze the generated file in AQtrace or Visual Studio and explore what happens in your application.
By using the new Generate dump on exception setting you can command AQtime to generate dumps on exceptions automatically.
By using a single function call the profiled applications can now command AQtime to generate profiling results.
By using a new Save Results to Source File item of the Editor’s context menu, you can store profiling results to source files directly from AQtime.
The context menu of the Report panel has been extended. Now you can add the selected routines and classes not only to profiling areas but also to triggers and actions.
For applications running under the .NET Framework ver. 2.0 or later, AQtime is now able to obtain user-defined names of CLR threads and display them in the Explorer panel.
The Search Directories and Project Search Directories dialogs can now accept environment variables.
The line profiling results shown in the Editor’s gutter can be printed along with the source code. These results are transformed to comments that precede the source code lines.
When comparing the results of several result sets, you can now use the Editor and Debugger panels that display the latest version of the application’s source code. Thus, you can review the code of the routines whose performance was different during each profiling session.
Interfaces that provide access to the AQtime engine via COM have been extended. Now the methods of the
IntegrationManager object add a new aqTimeIntegrationRunMode object that you can select in the profiling mode, read/set run parameters and manage profiled modules.
If you have questions about AQtime, or need further assistance, feel free to write to us at: sales@automatedqa.com or call us in the USA at: (702) 891-9424.


