Performance Profiler Results - Database Structure

Applies to AQTime 8.81, last modified on May 21, 2021

When you export the Performance profiler results to a database, AQTime creates a number of tables in it. The contents of most of these tables correspond to the contents of AQTime panels in which the profiling results are displayed. This topic describes the structure of the database table that contains the exported Performance profiler results.

The database consists of the following tables:

The relationship between the mentioned tables is illustrated in the image below. This relationship is similar to the relationship of the data in AQTime’s Explorer, Report and Details panels that hold the Performance profiler results.

Relationship between database tables

Click the image to enlarge it.

The root table of the database is the INSTANCES table. It contains a list of all exported result sets and is shared by AQTime’s profilers. Each result set is identified by the INST_ID field value, which is unique among the table. All other database tables also have the INST_ID field that indicates the result set to which data of a specific table item belongs.

The Performance profiler results that are displayed in the Report panel depend on the category selected in the Explorer panel - Routines, Source Files or Modules. In the database, profiling information for routines, source files and modules is stored in the separate PERFORMANCE_PROFILER_ROUTINES, PERFORMANCE_PROFILER_SOURCE_FILES and PERFORMANCE_PROFILER_MODULES tables, respectively. Since AQTime traces routine calls by threads, the database contains a special PERFORMANCE_PROFILER_THREADS table that holds the list of application threads traced by the Performance profiler. The PERFORMANCE_PROFILER_ROUTINES, PERFORMANCE_PROFILER_SOURCE_FILES and PERFORMANCE_PROFILER_MODULES tables, in turn, have the PARENT_ID field that indicates the thread where a specific routine call was made.

The PERFORMANCE_PROFILER_ROUTINES has three child tables - PERFORMANCE_PROFILER_CHILDREN, PERFORMANCE_PROFILER_PARENTS and PERFORMANCE_PROFILER_LINES, which contain profiling information for the routine’s callees, callers and individual lines. This is the same information that is displayed in the Children, Parents and Lines tables of AQTime’s Details panel when the Report panel displays performance profiling data for routines. To identify the routine to which a specific PERFORMANCE_PROFILER_CHILDREN, PERFORMANCE_PROFILER_PARENTS or PERFORMANCE_PROFILER_LINES table item is related, these tables have the PARENT_ID field that holds the identifier of the related routine.

The database tables that have the META suffix in their names contain meta information about the profiled elements - source files, modules, routines and lines. This data is retrieved from the application’s debug information and from the setup information of the AQTime project.

Note: The ID and REC_ID columns of the PERFORMANCE_PROFILER_xxxx tables are not key columns. They may contain repetitive values. In queries you should use these values along with the INST_ID value (the result set identifier).

Below is detailed information about the tables.

The INSTANCES table

This table contains a list of exported result sets. Each result set is identified by the INST_ID value.

Field Name Description
CAPTION String. The name of the result set. This is the same name that is displayed in the Explorer panel.
COUNTER_DESCRIPTION String. The name of the counter that was used during profiling. For example, Elapsed Time, CPU Cache Misses, and so on. For more information about counters, see Counters Overview.
COUNTER_FREQUENCY Decimal. The counter frequency.
COUNTER_NAME String. The type of the counter used during profiling. This field can contain one of the following values:
  • Branches
  • Conflicts
  • Faults
  • Misses
  • Replays
  • Switches
  • Time
INST_ID Integer. The result set’s identifier.

The PERFORMANCE_PROFILER_CHILDREN table

This table contains information about routines of certain called routines. The fields of this table correspond to the columns of the Children table of the Details panel.

Field Name Description
COL__S Integer. The counter value for the child routine when it was called from the PARENT_ID routine. This field corresponds to the Counter column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL__S_WITH_CHILDREN Integer. The counter value for the child routine, including its child routines, when it was called from the PARENT_ID routine. This field corresponds to the Counter with Children column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_ADDRESS Decimal. The child routine’s address in memory. This field is used for unmanaged (native-code) routines only. For managed routines, it contains 0. This field corresponds to the Address column of the Children table.
COL_CLASS_NAME String. The name of the class where the child routine is defined. This field corresponds to the Class Name column of the Children table.
COL_CODE_TYPE String. The child routine’s code type. This field corresponds to the Code Type column of the Children table. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • Script
  • Byte-code
For more information on these values, see the Code Type column description.
COL_EXCEPTIONS____ Decimal. Number of times the child routine was entered but not successfully exited when it was called from the PARENT_ID routine. This field corresponds to the Exceptions column of the Children table.
COL_HIT_COUNT Decimal. Number of times the child routine was called from the PARENT_ID routine. This field corresponds to the Hit Count column of the Children table.
COL_MAX__S Integer. Maximum counter value for the child routine when it was called from the PARENT_ID routine. This field corresponds to the Max Counter column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MAX__S_WITH_CHILDREN Integer. Maximum counter value for the child routine, including its child routines, when it was called from the PARENT_ID routine. This field corresponds to the Max Counter with Children column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MIN__S Integer. Minimum counter value for the child routine when it was called from the PARENT_ID routine. This field corresponds to the Min Counter column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MIN__S_WITH_CHILDREN Integer. Minimum counter value for the child routine, including its child routines, when it was called from the PARENT_ID routine. This field corresponds to the Min Counter with Children column of the Children table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MODULE_NAME String. The name of the module that contains the child routine. This field corresponds to the Module Name column of the Children table.
COL_NAMESPACE String. The namespace where the class containing the child routine is defined. This field is used for managed routines only. It corresponds to the Namespace column of the Children table.
COL_SOURCE_FILE String. The name of the source file that contains the child routine’s implementation. This field corresponds to the File Name column of the Children table.
COL_SOURCE_LINE Integer. The source file’s line number where the child routine’s implementation begins. This field corresponds to the Source Line column of the Children table.
COL_TOKEN Integer. The child routine’s CLR token. This field corresponds to the Token column of the Children table.
COL_UNIT_NAME String. The name of the linkage unit that holds the child routine. This field is used for unmanaged (native-code) routines only. For managed routines, this field is empty. This field corresponds to the Unit Name column of the Children table.
ID Integer. The callee routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_CHILDREN table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the routine that called the given routine. This is the same value as the caller’s ID value in the PERFORMANCE_PROFILER_ROUTINES table.
REC_ID Integer. The routine’s identifier within the caller routine’s callee list.

The PERFORMANCE_PROFILER_LINES table

This table contains performance profiling information on the routines’s individual lines. The fields of this table correspond to the columns of the Lines table of the Details panel.

Field Name Description
COL__S Integer. The counter value for the line. This field corresponds to the Counter column of the Lines table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL__S_WITH_CHILDREN Integer. The counter value for the line and the routines called from this line. This field corresponds to the Counter with Children column of the Lines table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_EXCEPTIONS____ Decimal. Number of exceptions that occurred during the line execution. This field corresponds to the Exceptions column of the Lines table.
COL_HIT_COUNT Decimal. Number of the line calls that were profiled. This field corresponds to the Hit Count column of the Lines table.
ID Integer. The line’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_LINES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the routine to which the line belongs. This is the same value as the routine’s ID value in the PERFORMANCE_PROFILER_ROUTINES table.
REC_ID Integer. The line’s identifier within the routine’s lines list.

The PERFORMANCE_PROFILER_META_LINES table

This table contains information about the source code lines that belong to specific routines.

Field Name Description
COL_SOURCE_LINE Integer. The line number in a source file.
ID Integer. The line’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_META_LINES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the routine to which the line belongs. This is the same value as the routine’s ID value in the PERFORMANCE_PROFILER_META_ROUTINES table.
REC_ID Integer. The line’s identifier within the routine’s lines list.

The PERFORMANCE_PROFILER_META_MODULES table

This table contains information about the application’s modules that were profiled.

Field Name Description
COL_MODULE_NAME String. The module name.
ID Integer. The module’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_META_MODULES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Not used. Always contains -1.
REC_ID A helper field.

The PERFORMANCE_PROFILER_META_ROUTINES table

This table contains information about routines of the profiled application. It is retrieved from the application’s debug information and from the setup information of the AQTime project. The fields of this table, along with the PERFORMANCE_PROFILER_ROUTINES table fields, correspond to the columns of the Report panel that displays the profiling results for routines.

Field Name Description
COL_ACTIONACTIVE Integer. Specifies whether the routine is an active action. This field contains -1 if the routine is an action and this action is enabled. Otherwise it contains 0. This value is not displayed in the Report panel.
COL_ACTIONDISABLEDROUTINE Not used. Always contains 0.
COL_ACTIONPLACEMENT Integer. Specifies the action’s execute type. This field can contain one of the following values:
  • 0 - The action is executed at the beginning of the routine.
  • 1 - The action is executed at the end of the routine.
This value is not displayed in the Report panel.
COL_ACTIONTYPE Integer. Specifies the action type. This field can contain one of the following values:
  • 0 - Enable profiling
  • 1 - Disable profiling
  • 2 - Get results
  • 3 - Clear results
This value is not displayed in the Report panel.
COL_ADDRESS Decimal. The routine’s address in memory. This field is used for unmanaged (native-code) routines only. For managed routines, it contains 0. This field corresponds to the Address column of the Report panel.
COL_ANALYSIS_RESULT String. Specifies whether the routine was instrumented or not. This field corresponds to the Analysis Result column of the Report panel. If the routine was instrumented, the field in empty. Otherwise it contains the reason why the routine was not instrumented:
  • Less than 5 bytes (for 32-bit applications)
  • Less than 6 bytes (for 64-bit applications)
  • No line info
  • Unsafe code
  • No ret instruction
  • Duplicated code
For more information on these values, see the Analysis Result column description.
COL_CLASS_NAME String. The name of the class where the method is defined. This field corresponds to the Class Name column of the Report panel.
COL_CODE_TYPE String. The routine’s code type. This field corresponds to the Code Type column of the Report panel. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • Script
  • Byte-code
For more information on these values, see the Code Type column description.
COL_MODULE_NAME String. The name of the module that contains the profiled routine. This field corresponds to the Module Name column of the Report panel.
COL_NAMESPACE String. The namespace of the method’s class. This field is used for managed routines only. It corresponds to the Namespace column of the Report panel.
COL_PROFILELINES Integer. Specifies whether the routine was profiled on the line level or the routine level (see About Profiling Levels). This field contains 0 if the routine was profiled on the routine level. Otherwise, if the routine was profiled on the line level, this field contains -1. This value is not displayed in the Report panel.
COL_ROUTINE_NAME String. The routine name.
COL_SOURCE_FILE String. The name of the source file that contains the routine implementation. This field corresponds to the File Name column of the Report panel.
COL_SOURCE_LINE Integer. The source file’s line number where the routine implementation begins. This field corresponds to the Source Line column of the Report panel.
COL_SYMBOL_MONIKER String. The routine’s moniker. This value is not displayed in the Report panel.
COL_TOKEN Integer. The routine’s CLR token. This field is used for managed routine only. It corresponds to the Token column of the Report panel.
COL_TRIGGERACTIVE Integer. Specifies whether a routine is an active trigger. This field contains -1 if the routine is a trigger and this trigger is enabled; otherwise it contains 0. This value is not displayed in the Report panel.
COL_TRIGGERCYCLING Integer. Specifies whether the routine is a cycling trigger. This field contains -1 is the trigger’s Cycling option is checked; otherwise it contains 0. This value is not displayed in the Report panel.
COL_TRIGGERDISABLEROUTINE Not used. Always contains 0.
COL_TRIGGERENABLING Integer. Specifies whether the routine is an on-trigger or an off-trigger. If the routine is an on-trigger, this field contains -1. Otherwise, if the routine is an off-trigger or not a trigger, it contains 0. This value is not displayed in the Report panel.
COL_TRIGGERGLOBAL Integer. Specifies whether the trigger’s call count is taken over all threads. If the trigger’s For All Threads option is checked, this field contains -1. Otherwise it contains 0. This value is not displayed in the Report panel.
COL_TRIGGERGLOBALHITCOUNT Not used. Always contains 0.
COL_TRIGGERPASSCOUNT Integer. The trigger’s pass count. This value is not displayed in the Report panel.
COL_TRIGGERWORKCOUNT Integer. The trigger’s work count. This value is not displayed in the Report panel.
COL_UNIT_NAME String. The name of the linkage unit that holds the routine. This field is used for unmanaged (native-code) routines only. For managed routines, this field is empty. This field corresponds to the Unit Name column of the Report panel.
ID Integer. The routines’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_META_ROUTINES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Not used. Always contains -1.
REC_ID A helper field.

The PERFORMANCE_PROFILER_META_SOURCE_FILES table

This table contains information about source files of the profiled application.

Field Name Description
COL_FILE_NAME String. The source file name.
COL_SYMBOL_MONIKER String. The source file’s moniker.
ID Integer. The source file’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_META_SOURCE_FILES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Not used. Always contains -1.
REC_ID A helper field.

The PERFORMANCE_PROFILER_MODULES table

This table contains performance profiling results for each module of your application. The fields of this table correspond to the Report panel columns displaying the Performance profiler results when the Modules category is selected in the Explorer panel.

Field Name Description
COL__S Integer. The total counter value for all the routines that belong to the module. This field corresponds to the Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_EXCEPTIONS____ Decimal. The total number of times the module’s routines were entered but not successfully exited. This field corresponds to the Exceptions column of the Report panel.
COL_HIT_COUNT Decimal. Number of calls to the module’s routines that were profiled. This field corresponds to the Hit Count column of the Report panel.
COL_MODULE_NAME String. The module name. This field corresponds to the Module Name column of the Report panel.
COL_SKIP_COUNT Decimal. Number of times the module’s routines were excluded from profiling, because the profiling status was off. This field corresponds to the Skip Count column of the Report panel.
ID Integer. The module’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_MODULES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the thread in which the module’s routines were called. This is the same value as the thread’s ID value in the PERFORMANCE_PROFILER_THREADS table.
REC_ID Integer. The module’s identifier within the list of modules whose routines were called in the PARENT_ID thread.

The PERFORMANCE_PROFILER_PARENTS table

This table contains information about caller routines of certain routines. The fields of this table correspond to the columns of the Parents table of the Details panel.

Field Name Description
COL__S Integer. The counter value for the PARENT_ID routine when it was called from the given routine. This field corresponds to the Counter column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL__S_WITH_CHILDREN Integer. The counter value for the PARENT_ID routine, including its child routines, when it was called from the given routine. This field corresponds to the Counter with Children column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_ADDRESS Decimal. The parent routine’s address in memory. This field is used for unmanaged (native-code) routines only. For managed routines, it contains 0. This field corresponds to the Address column of the Parents table.
COL_CLASS_NAME String. The name of the class where the parent routine is defined. This field corresponds to the Class Name column of the Parents table.
COL_CODE_TYPE String. The parent routine’s code type. This field corresponds to the Code Type column of the Parents table. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • Script
  • Byte-code
For more information on these values, see the Code Type column description.
COL_EXCEPTIONS____ Decimal. Number of times the routine was entered but not successfully exited when it called the PARENT_ID routine. This field corresponds to the Exceptions column of the Parents table.
COL_HIT_COUNT Decimal. Number of times the routine called the PARENT_ID routine. This field corresponds to the Hit Count column of the Parents table.
COL_MAX__S Integer. Maximum counter value for the routine when it called the PARENT_ID routine. This field corresponds to the Max Counter column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MAX__S_WITH_CHILDREN Integer. Maximum counter value for the routine, including its child routines, when it calls the PARENT_ID routine. This field corresponds to the Max Counter with Children column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MIN__S Integer. Minimum counter value for the routine when it calls the PARENT_ID routine. This field corresponds to the Min Counter column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MIN__S_WITH_CHILDREN Integer. Minimum counter value for the routine, including its child routines, when it calls the PARENT_ID routine. This field corresponds to the Min Counter with Children column of the Parents table.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MODULE_NAME String. The name of the module that contains the parent routine. This field corresponds to the Module Name column of the Parents table.
COL_NAMESPACE String. The namespace where the class containing the parent routine is defined. This field is used for managed routines only. It corresponds to the Namespace column of the Parents table.
COL_SOURCE_FILE String. The name of the source file that contains the parent routine’s implementation. This field corresponds to the File Name column of the Parents table.
COL_SOURCE_LINE Integer. The line number in a source file where the parent routine’s implementation begins. This field corresponds to the Source Line column of the Parents table.
COL_TOKEN String. The parent routine’s CLR token. This field corresponds to the Token column of the Parents table.
COL_UNIT_NAME String. The name of the linkage unit that holds the parent routine. This field is used for unmanaged (native-code) routines only. For managed routines, this field is empty. This field corresponds to the Unit Name column of the Parents table.
ID Integer. The routines’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_PARENTS table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the routine’s callee routine. This is the same value as the callee’s ID value in the PERFORMANCE_PROFILER_ROUTINES table.
REC_ID Integer. The routine’s identifier within the callee’s caller list.

The PERFORMANCE_PROFILER_ROUTINES table

This table contains performance profiling information on the application’s routines. The fields of this table correspond to the Report panel columns when the Routines category is selected in the Explorer panel.

Field Name Description
COL__S Integer. The counter value for the routine. This field corresponds to the Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL__S_WITH_CHILDREN Integer. The counter value for the routine and its child routines. This field corresponds to the Counter with Children column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_ADDRESS Decimal. The routine’s address in memory. This field is used for unmanaged (native-code) routines only. For managed routines, it contains 0. This field corresponds to the Address column of the Report panel.
COL_ANALYSIS_RESULT String. Specifies whether the routine was instrumented or not. This field corresponds to the Analysis Result column of the Report panel. If the routine was instrumented, the field in empty. Otherwise it contains the reason why the routine was not instrumented:
  • Less than 5 bytes
  • No line info
  • Unsafe code
  • No ret instruction
  • Duplicated code
For more information on these values, see the Analysis Result column description.
COL_CALLSONSTACK Decimal. A helper field.
COL_CLASS_NAME String. The name of the class where the method is defined. This field corresponds to the Class Name column of the Report panel.
COL_CODE_TYPE String. The routine’s code type. This field corresponds to the Code Type column of the Report panel. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • Script
  • Byte-code
For more information on these values, see the Code Type column description.
COL_EXCEPTIONS____ Decimal. Number of times the routine was entered but not successfully exited. This field corresponds to the Exceptions column of the Report panel.
COL_FIRST__S Integer. The counter value for the routine’ first call. This field corresponds to the First Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_FIRST__S_WITH_CHILDREN Integer. The counter value for the routine’ first call, including child calls. This field corresponds to the First Counter with Children column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_HIT_COUNT Decimal. The number of routine calls that were profiled. This field corresponds to the Hit Count column of the Report panel.
COL_MAX__S Integer. The maximum counter value for the routine. This field corresponds to the Max Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MAX__S_WITH_CHILDREN Integer. The maximum counter value for the routine and its child routines. This field corresponds to the Max Counter with Children column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MAX_RECURSION_DEPTH Decimal. The maximum number of recursive calls to the routine reached during the profiling session. This field corresponds to the Max Recursion Depth column of the Report panel.
COL_MIN__S Integer. The minimum counter value for the routine. This field corresponds to the Min Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MIN__S_WITH_CHILDREN Integer. The minimum counter value for the routine and its child routines. This field corresponds to the Min Counter with Children column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_MODULE_NAME String. The name of the module that contains the profiled routine. This field corresponds to the Module Name column of the Report panel.
COL_NAMESPACE String. String. The namespace of the method’s class. This field is used for managed routines only. It corresponds to the Namespace column of the Report panel.
COL_SKIP_COUNT Decimal. Number of times the routine was excluded from profiling, because the profiling status was off This field corresponds to the Skip Count column of the Report panel.
COL_SOURCE_FILE String. The name of the source file that contains the routine implementation. This field corresponds to the File Name column of the Report panel.
COL_SOURCE_LINE Integer. The source file’s line number where the routine implementation begins. This field corresponds to the Source Line column of the Report panel.
COL_TOKEN Integer. The routine’s CLR token. This field is used for managed routine only. It corresponds to the Token column of the Report panel.
COL_TRIGGERTHREADHITCOUNT Not used. Always contains 0.
COL_UNIT_NAME String. The name of the linkage unit that holds the routine. This field is used for unmanaged (native-code) routines only. For managed routines, this field is empty. This field corresponds to the Unit Name column of the Report panel.
ID Integer. The routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_ROUTINES item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the thread where the routine was called. This is the same value as the thread’s ID value in the PERFORMANCE_PROFILER_THREADS table.
REC_ID Integer. The routine’s identifier within the list of routines called from the PARENT_ID thread.

The PERFORMANCE_PROFILER_SOURCE_FILES table

This table contains performance profiling information on the source files of the profiled application. The fields of this table correspond to the Report panel columns when the Source Files category is selected in the Explorer panel.

Field Name Description
COL__S Integer. The total counter value for all routines that the source file contains. This field corresponds to the Counter column of the Report panel.

For the Elapsed Time, User Time and User+Kernel Time counters the value is stored in machine cycles (AQTime automatically converts this value to other units: seconds, milliseconds or microseconds).

COL_EXCEPTIONS____ Decimal. The total number of times the routines that belong to the source file were entered but not successfully exited. This field corresponds to the Exceptions column of the Report panel.
COL_FILE_NAME String. The source file name. This field corresponds to the File Name column of the Report panel.
COL_HIT_COUNT Decimal. The total number of profiled calls to routines that belong to the source file. This field corresponds to the Hit Count column of the Report panel.
COL_SKIP_COUNT Decimal. The total number of times the routines belonging to the source file were excluded from profiling because the profiling status was off. This field corresponds to the Skip Count column of the Report panel.
ID Integer. The source file’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_SOURCE_FILES table item belongs. This is the same value as the result set’s INST_ID value in the INSTANCES table.
PARENT_ID Integer. The identifier of the thread where the routines defined in the source file were called. This is the same value as the thread’s ID value in the PERFORMANCE_PROFILER_THREADS table.
REC_ID Integer. The source file’s identifier within the list of files whose routines were called in the PARENT_ID thread.

The PERFORMANCE_PROFILER_THREADS table

This table contains information about the application threads that were profiled with the Performance profiler. The information in this table corresponds to the list of profiles threads displayed in the Explorer panel.

Field Name Description
COL_NAME String. The thread name. This is the same name that is displayed in the Explorer panel.
COL_WIN32THREADID Integer. The thread’s identifier. This field is only used for Win32 threads.
ID The thread’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given PERFORMANCE_PROFILER_THREADS table item belongs. This is the same value as the results’ INST_ID value in the INSTANCES table.
PARENT_ID Not used. Always contains -1.
REC_ID A helper field.

The RELATIONS table

This table contains the information about parent-child relationships between the database tables holding the Performance profiler results.

Field Name Description
COL_CHILD_TABLE String. The name of a child table.
COL_PARENT_TABLE String. The name of a parent table. The NULL value means that the table specified by the COL_CHILD_TABLE is a top-level table.
ID Integer. The identifier of a specific relation within the RELATIONS table.
INST_ID Integer. The identifier of the INSTANCES table item corresponding to the result set whose data the tables hold.

See Also

Exporting Profiling Results to Database
Performance Profiler - Overview
Performance Profiler Panels Reference

Highlight search results