Static Analysis Profiler Results - Database Structure

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

When you export the Static Analysis 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 Static Analysis 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 display the Static Analysis profiler results.

Relationship between database tables

Click the image to enlarge it.

The root table of the database is the INSTANCES table. It contains the 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 Static Analysis profiler results that are displayed in the Report panel depend on the category selected in the Explorer panel - Routines Data or Classes Data. In the database, profiling information for routines and classes are stored in the separate STATIC_ANALYSIS_ROUTINES_DATA and STATIC_ANALYSIS_CLASSES_DATA tables, respectively.

The STATIC_ANALYSIS_ROUTINES_DATA has two child tables - STATIC_ANALYSIS_CHILDREN and STATIC_ANALYSIS_PARENTS, which contain profiling information for the routine’s callees and callers. This is the same information that is displayed in the Children and Parents tables of AQTime’s Details panel when the Report panel displays routine analysis results. To identify the routine to which a specific STATIC_ANALYSIS_CHILDREN or STATIC_ANALYSIS_PARENTS table item is related, these tables have the PARENT_ID field that holds the identifier of the related routine.

The STATIC_ANALYSIS_CLASSES_DATA table, also has child tables -- STATIC_ANALYSIS_ROUTINES, STATIC_ANALYSIS_CLASS_CALLEES, STATIC_ANALYSIS_CALLEE_ROUTINES, STATIC_ANALYSIS_CLASS_CALLERS and STATIC_ANALYSIS_CALLER_ROUTINES. These tables hold information about interlinks of the application’s classes through their methods. The data in these tables are the same that is displayed in the Routines, Class Callees, Callee Routines, Class Callers and Caller Routines tables of AQTime’s Details panel when the Report panel displays class analysis results. The PARENT_ID field of the mentioned child tables identifies the application’s class to which the information is related.

The STATIC_ANALYSIS_META_ROUTINES and STATIC_ANALYSIS_META_CLASSES_DATA tables contain meta information about the profiled elements - routines and classes. This data is retrieved from the application’s debug information (in case of native-code applications) or metadata (in case of managed applications).

Note: The ID and REC_ID columns of the STATIC_ANALYSIS_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 Not used for the Static Analysis profiler.
COUNTER_FREQUENCY Not used for the Static Analysis profiler.
COUNTER_NAME Not used for the Static Analysis profiler.
INST_ID Integer. The result set’s identifier.

The RELATIONS table

This table contains the information about parent-child relationships between the database tables holding the Static Analysis 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.

The STATIC_ANALYSIS_CALLEE_ROUTINES table

This table contains information about routines that are called by methods of certain classes. The fields of this table correspond to the columns of the Callee Routines table of the Details panel for the Classes Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the routine is called by methods of the PARENT_ID class. This field corresponds to the Call Count column of the Callee Routines table.
COL_CLASS_NAME String. The name of the class where the callee method is defined. This field corresponds to the Class Name column of the Callee Routines table.
COL_CODE_TYPE String. The callee routine’s code type. This field corresponds to the Code Type column of the Callee Routines table. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • 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 callee routine. This field corresponds to the Module Name column of the Callee Routines table.
COL_NAMESPACE String. The namespace where the class containing the callee routine is defined. This field is used for managed routines only. This field corresponds to the Namespace column of the Callee Routines table.
COL_SOURCE_FILE String. The name of the source file that contains the callee routine’s implementation. This field corresponds to the Source File column of the Callee Routines table.
COL_SOURCE_LINE Integer. The source file’s line number where the callee routine’s implementation begins. This field corresponds to the Source Line column of the Callee Routines table.
COL_TOKEN Integer. The callee routine’s CLR token. This field is used for managed routines only. For unmanaged (native-code) routines, it contains 0. This field corresponds to the Token column of the Callee Routines table.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the callee routine. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Callee Routines 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 STATIC_ANALYSIS_CALLEE_ROUTINES 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 class whose methods call the given routine. This is the same value as the class’s ID value in the STATIC_ANALYSIS_CLASSES_DATA table.
REC_ID Integer. The routine’s identifier within the class’s callee list.

The STATIC_ANALYSIS_CALLER_ROUTINES table

This table contains information about routines that call methods of certain classes. The fields of this table correspond to the columns of the Caller Routines table of the Details panel for the Classes Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the routine calls methods of the PARENT_ID class. This field corresponds to the Call Count column of the Caller Routines table.
COL_CLASS_NAME String. The name of the class where the caller method is defined. This field corresponds to the Class Name column of the Caller Routines table.
COL_CODE_TYPE String. The caller routine’s code type. This field corresponds to the Code Type column of the Caller Routines table. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • 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 caller routine. This field corresponds to the Module Name column of the Caller Routines table.
COL_NAMESPACE String. The namespace where the class containing the caller routine is defined. This field is used for managed routines only. It corresponds to the Namespace column of the Caller Routines table.
COL_SOURCE_FILE String. The name of the source file that contains the caller routine’s implementation. This field corresponds to the Source File column of the Caller Routines table.
COL_SOURCE_LINE Integer. The source file’s line number where the caller routine’s implementation begins. This field corresponds to the Source Line column of the Caller Routines table.
COL_TOKEN Integer. The caller routine’s CLR token. This field is used for managed routines only. For unmanaged (native-code) routines, it contains 0. This field corresponds to the Token column of the Caller Routines table.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the caller routine. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Caller Routines table.
ID Integer. The caller routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_CALLER_ROUTINES 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 class whose methods are called by the given routine. This is the same value as the class’s ID value in the STATIC_ANALYSIS_CLASSES_DATA table.
REC_ID Integer. The routine’s identifier within the class’s caller list.

The STATIC_ANALYSIS_CHILDREN table

This table contains information callee routines of the profiled routines. The fields of this table correspond to the columns of the Children table of the Details panel for the Routines Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the child routine is called by the PARENT_ID routine. This field corresponds to the Call Count column of the Children table.
COL_CLASS_NAME String. The name of the class where the method 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
  • 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 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 Source File 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 is used for managed routines only. For unmanaged (native-code) routines, it contains 0. This field corresponds to the Token column of the Children table.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the child routine. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Children table.
ID Integer. The child routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_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 STATIC_ANALYSIS_ROUTINES_DATA table.
REC_ID Integer. The routine’s identifier within the caller routine’s callee list.

The STATIC_ANALYSIS_CLASS_CALLEES table

This table contains information about the application’s classes whose methods are called by methods of other classes. The fields of this table correspond to the columns of the Class Callees table of the Details panel for the Classes Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the class methods are called by the methods of the PARENT_ID class. This field corresponds to the Call Count column of the Class Callees table.
COL_CLASS_NAME String. The name of the callee class. This field corresponds to the Class Name column of the Class Callees table.
COL_MODULE_NAME String. The name of the module that contains the callee class. This field corresponds to the Module Name column of the Class Callees table.
COL_NAMESPACE String. The namespace where the callee class is defined. This field is used for managed classes only. It corresponds to the Namespace column of the Class Callees table.
ID Integer. The identifier of the callee class within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_CLASS_CALLEES 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 class whose methods call methods of the given class. This is the same value as the caller class’s ID value in the STATIC_ANALYSIS_CLASSES_DATA table.
REC_ID Integer. The identifier of the given class within the caller class’s list of callee classes.

The STATIC_ANALYSIS_CLASS_CALLERS table

This table contains information about the application’s classes whose methods call methods of other classes. The fields of this table correspond to the columns of the Class Callers table of the Details panel for the Classes Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the class methods call methods of the PARENT_ID class. This field corresponds to the Call Count column of the Class Callers table.
COL_CLASS_NAME String. The name of the caller class. This field corresponds to the Class Name column of the Class Callers table.
COL_MODULE_NAME String. The name of the module that contains the caller class. This field corresponds to the Module Name column of the Class Callers table.
COL_NAMESPACE String. The namespace where the caller class is defined. This field is used for managed classes only. It corresponds to the Namespace column of the Class Callers table.
ID Integer. The identifier of the caller class within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_CLASS_CALLERS 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 class whose methods are called by methods of the given class. This is the same value as the callee class’s ID value in the STATIC_ANALYSIS_CLASSES_DATA table.
REC_ID Integer. The identifier of the given class within the callee class’s list of caller classes.

The STATIC_ANALYSIS_CLASSES_DATA table

This table contains information about classes whose instances can be potentially created in the profiled application. The fields of this table correspond to the Report panel columns when the Classes Data category is selected in the Explorer panel.

Field Name Description
COL_CALL_COUNT Integer. The number of calls to the class methods coded in the source. This field corresponds to the Call Count column of the Report panel.
COL_CALLEE_CLASS_COUNT Integer. The number of classes whose methods are called by methods of the given class. This field corresponds to the Callee Class Count column of the Report panel.
COL_CALLEE_COUNT Integer. The number of calls to other routines coded in the class source. This field corresponds to the Callee Count column of the Report panel.
COL_CALLER_CLASS_COUNT Integer. The number of classes whose methods call methods of the given class. This field corresponds to the Caller Class Count column of the Report panel.
COL_CLASS_NAME String. The class name. This field corresponds to the Class Name column of the Report panel.
COL_FINALIZABLE Integer. Specifies whether the class overrides the Finalize method (C# and VC++.NET use the destructor syntax for Finalize). This field contains 0 if the class overrides the Finalize method; otherwise it contains -1. This field corresponds to the Finalizable column of the Report panel.
COL_MODULE_NAME String. The name of the module that contains the profiled class. This field corresponds to the Module Name column of the Report panel.
COL_NAMESPACE String. The namespace where the class is defined. This field is used for managed classes only. It corresponds to the Namespace column of the Report panel.
COL_ROUTINE_COUNT Integer. The number of class methods. This field corresponds to the Routine Count column of the Report panel.
COL_TOKEN Integer. The class’s CLR token. This field is used for managed classes only. For unmanaged (native-code) classes, it contains 0. The field corresponds to the Token column of the Report panel.
ID Integer. The class’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_CLASS_CALLERS 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 Integer. A helper field.

The STATIC_ANALYSIS_META_CLASSES_DATA table

This table contains information about all classes used in the profiled application. This information is retrieved from the application’s debug information (native-code applications) or metadata (managed applications).

Field Name Description
COL_CLASS_NAME String. The class name.
COL_FINALIZABLE Integer. Specifies whether the class overrides the Finalize method (C# and VC++.NET uses the destructor syntax for Finalize). This field contains 0 if the class overrides the Finalize method; otherwise it contains -1.
COL_MODULE_NAME String. The name of the module that contains the profiled class.
COL_NAMESPACE String. The namespace where the class is defined. This field is used for managed classes only.
COL_SYMBOL_MONIKER String. The symbol moniker of the class.
COL_TOKEN String. The class’s CLR token. This field is used for managed classes only. For unmanaged (native-code) classes, it contains 0.
ID Integer. The class’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_META_CLASSES_DATA 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 Integer. A helper field.

The STATIC_ANALYSIS_META_ROUTINES table

This table contains information about all routines of the profiled application. This information is retrieved from the application’s debug information (native-code applications) or metadata (managed applications).

Field Name Description
COL_ANALYSIS_RESULT String. Specifies whether the routine was instrumented or not. 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
COL_CLASS_NAME String. The name of the class where the method is defined.
COL_CODE_TYPE String. The routine’s code type. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • Byte-code
COL_MODULE_BASE Decimal. The base address of the routine’s module that is specified in the module header.
COL_MODULE_NAME String. The name of the module that contains the profiled routine.
COL_NAMESPACE String. The namespace of the method’s class (this field is used for managed routines only).
COL_PROFILELINES Note used. Always contains 0.
COL_ROUTINE_NAME String. The routine name.
COL_RVA Decimal. The routine’s relative virtual address.
COL_SOURCE_FILE String. The name of the source file that contains the routine implementation.
COL_SOURCE_LINE Integer. The source file’s line number where the routine implementation begins.
COL_SYMBOL_MONIKER String. The routine’s symbol moniker.
COL_TOKEN Integer. The routine’s CLR token.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the routine. This field is used for unmanaged (native-code) routines only. For managed routines, this field is empty.
ID Integer. The routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_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 Integer. A helper field.

The STATIC_ANALYSIS_PARENTS table

This table contains information about caller routines of the profiled routines. The fields of this table correspond to the columns of the Parents table of the Details panel for the Routines Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the parent routine calls the PARENT_ID routine. This field corresponds to the Call Count column of the Parents table.
COL_CLASS_NAME String. The name of the class where the method 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
  • 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 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 Source File column of the Parents table.
COL_SOURCE_LINE Integer. The source file’s line number where the parent routine’s implementation begins. This field corresponds to the Source Line column of the Parents table.
COL_TOKEN Integer. The parent routine’s CLR token. This field is used for managed routines only. For unmanaged (native-code) routines, it contains 0. This field corresponds to the Token column of the Parents table.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the parent routine. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Parents table.
ID Integer. The parent routine’s identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_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 STATIC_ANALYSIS_ROUTINES_DATA table.
REC_ID Integer. The routine’s identifier within the callee’s caller list.

The STATIC_ANALYSIS_ROUTINES table

This table contains information about methods of profiled classes. The fields of this table correspond to the columns of the Routines table of the Details panel for the Classes Data category.

Field Name Description
COL_CALL_COUNT Integer. The number of times the method is called in the source code. This field corresponds to the Call Count column of the Routines table.
COL_CLASS_NAME String. The name of the class where the method is defined. This field corresponds to the Class Name column of the Routines table.
COL_CODE_TYPE String. The method’s code type. This field corresponds to the Code Type column of the Routines table. It can have one of the following values:
  • MSIL
  • x64
  • x86
  • Pseudo
  • PInvoke
  • NGen
  • 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 method. This field corresponds to the Module Name column of the Routines table.
COL_NAMESPACE String. The namespace where the method’s class is defined. This field is used for managed routines only. It corresponds to the Namespace column of the Routines table.
COL_SOURCE_FILE String. The name of the source file that contains the method implementation. This field corresponds to the Source File column of the Routines table.
COL_SOURCE_LINE Integer. The source file’s line number where the method implementation begins. This field corresponds to the Source Line column of the Routines table.
COL_TOKEN Integer. The method’s CLR token. This field is used for managed routines only. For unmanaged (native-code) routines, it contains 0. This field corresponds to the Token column of the Routines table.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the method. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Routines table.
ID Integer. The method identifier within the result set.
INST_ID Integer. The identifier of the result set to which the given STATIC_ANALYSIS_ROUTINES 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 class to which the method belongs. This is the same value as the class’s ID value in the STATIC_ANALYSIS_CLASSES_DATA table.
REC_ID Integer. The method identifier within the list of class methods.

The STATIC_ANALYSIS_ROUTINES_DATA table

This table contains information about routines that can be potentially called in the profiled application. The fields of this table correspond to the Report panel columns when the Routines Data category is selected in the Explorer panel.

Field Name Description
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_BOX_COUNT Integer. The number of times the routine is boxed in the source. This field corresponds to the Box Count column of the Report panel.
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_SIZE Integer. The size of the routine’s binary code, in bytes. This field corresponds to the Code Size 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
  • Byte-code
For more information on these values, see the Code Type column description.
COL_CONDITION_COUNT Integer. The number of conditional instructions in the routine’s source. This field corresponds to the Condition Count column of the Report panel.
COL_DATA_LOAD_STORE Integer. The number of memory handling instructions in the routine’s source. This field corresponds to the Data Load/Store column of the Report panel.
COL_DIRECT_CALLS Integer. The number of direct calls to other routines performed in the routine’s source. This field corresponds to the Direct Calls column of the Report panel.
COL_EXCEPTION_FRAMES Integer. The number of exception frames in the routine’s source. This field corresponds to the Exception Frames column of the Report panel.
COL_FLOAT_INSTRUCTIONS Integer. The number of floating point instructions in the routine’s source. This field corresponds to the Float Instructions column of the Report panel.
COL_INDIRECT_CALLS Integer. The number of indirect calls to other routines performed in the routine’s source. These are calls to callback functions (when a pointer to a routine is passed somewhere where the routine is actually called) and calls to interface functions. This field corresponds to the Indirect Calls column of the Report panel.
COL_INSTRUCTION_COUNT Integer. The total number of instructions in the routine’s code. This field corresponds to the Instruction Count column of the Report panel.
COL_LEAF Integer. Specifies whether the routine is leaf or not. This field contains 0, if the routine is a leaf one (that is, if it does not call other routines). Otherwise, it contains -1. This field corresponds to the Leaf column of the Report panel.
COL_LOCAL_COUNT Integer. The number of local variables in the routine’s source. This field corresponds to the Local Count column of the Report panel.
COL_LOCAL_SIZE Integer. The size of memory (in bytes) occupied by the routine’s local variables. This field corresponds to the Local Size column of the Report panel.
COL_LOOP_COUNT Integer. The number of loop instructions in the routine’s source. This field corresponds to the Loop Count column of the Report panel.
COL_MMX_INSTRUCTIONS Integer. The number of MMX instructions in the routine’s source. This field corresponds to the MMX Instructions column of the Report panel.
COL_MODULE_BASE Decimal. The base address of the routine’s module that is specified in the module header.
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). This field corresponds to the Namespace column of the Report panel.
COL_PARAMETER_COUNT Integer. The number of parameters that are passed to the routine. This field corresponds to the Parameter Count column of the Report panel.
COL_PARAMETER_SIZE Integer. The size of memory (in bytes) occupied by parameters that are passed to the routine. This field corresponds to the Parameter Size column of the Report panel.
COL_PLATFORM String. The minimal processor configuration at which the routine’s code can be run. This field corresponds to the Platform column of the Report panel. It can have one of the following values:
  • Blended
  • Pentium II
  • Pentium III
  • Pentium IV
For more information on these values, see the Platform column description.
COL_RECURSIVE Integer. Specifies whether the routine has recursive calls (that is, calls to itself). This field contains 0, if the routine is recursive; otherwise it contains -1. This field corresponds to the Recursive column of the Report panel.
COL_RVA Decimal. The routine’s relative virtual address. This is the same value that is displayed in the Address column of the Report panel, if the  Show addresses as RVA option is on.
COL_SOURCE_FILE String. The name of the source file that contains the routine implementation. This field corresponds to the Source File column of the Report panel.
COL_SOURCE_LINE Integer. The source file’s line number where the routine’s implementation begins. This field corresponds to the Source Line column of the Report panel.
COL_SSE_INSTRUCTIONS Integer. The number of SSE instructions in the routine’s source. This field corresponds to the SSE Instructions column of the Report panel.
COL_SSE2_INSTRUCTIONS Integer. The number of SSE2 instructions in the routine’s source. This field corresponds to the SSE2 Instructions column of the Report panel.
COL_STACK_FRAME Integer. Specifies whether a stack frame is created for the given routine. This field contains 0 if the stack frame is present; otherwise it contains -1. This field corresponds to the Stack Frame column of the Report panel.
COL_TOKEN Integer. The routine’s CLR token. This field corresponds to the Token column of the Report panel.
COL_UNBOX_COUNT Integer. The number of times the routine is unboxed in the source. This field corresponds to the Unbox Count column of the Report panel.
COL_UNIT_NAME String. The name of the compiled linkage unit that holds the routine. This field is used for unmanaged (native-code) routines only. It corresponds to the Unit Name column of the Report panel.
COL_UNUSED_REGISTER_COUNT Integer. The number of registers that are not used in the routine’s source. This field corresponds to the Unused Register Count column of the Report panel.
COL_WORD_OVERRIDES Integer. The number of times when registers are used partly, not entirely. This field corresponds to the Word Overrides 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 STATIC_ANALYSIS_ROUTINES_DATA 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 Integer. A helper field.

See Also

Exporting Profiling Results to Database
Static Analysis Profiler
Static Analysis Profiler Results
Static Analysis Profiler - Report Panel
Static Analysis Profiler - Details Panel
Static Analysis Profiler - Call Tree Panel

Highlight search results