Crate ittapi_sys
source ·Expand description
This library contains OS-specific bindings to the C ittapi
library.
Re-exports
pub use self::__itt_suppress_mode as __itt_suppress_mode_t;
pub use self::___itt_track_group_type as __itt_track_group_type;
pub use self::___itt_track_type as __itt_track_type;
pub use self::iJIT_jvm_event as iJIT_JVM_EVENT;
pub use self::_iJIT_IsProfilingActiveFlags as iJIT_IsProfilingActiveFlags;
pub use self::_iJIT_CodeArchitecture as iJIT_CodeArchitecture;
pub use self::_iJIT_SegmentType as iJIT_SegmentType;
Structs
- @brief Description of a single entry in the line number information of a code region. @details A table of line number entries gives information about how the reported code region is mapped to source file. Intel(R) VTune(TM) Amplifier uses line number information to attribute the samples (virtual address) to a line number. \n It is acceptable to report different code addresses for the same source line: @code Offset LineNumber 1 2 12 4 15 2 18 1 21 30
- @brief Description of an inline JIT-compiled method @details When you use the_iJIT_Method_Inline_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_INLINE_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load_V2 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V2 as an event type to report it.
- @brief Description of a JIT-compiled method @details The iJIT_Method_Load_V3 structure is the same as iJIT_Method_Load_V2 with a newly introduced ‘arch’ field that specifies architecture of the code region. When you use the iJIT_Method_Load_V3 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V3 as an event type to report it.
- @brief Description of a dynamic update of the content within JIT-compiled method @details The JIT engine may generate the methods that are updated at runtime partially by mixed (data + executable code) content. When you use the iJIT_Method_Update structure to describe the update of the content within a JIT-compiled method, use iJVM_EVENT_TYPE_METHOD_UPDATE_V2 as an event type to report it.
Constants
- < Unsigned 64-bit integer type
- < Unsigned 64-bit integer type
- < Unsigned 64-bit integer type
- < ASCII string char* type
- < Unicode string wchar_t* type
- < Unsigned 64-bit integer type
- < Unsigned 64-bit integer type
- < Unsigned 64-bit integer type
- < ASCII string char* type
- < Unicode string wchar_t* type
- < Unsigned 64-bit integer type
- < Unsigned 64-bit integer type
- < ASCII string char* type
- < Unicode string wchar_t* type
- < Unsigned 64-bit integer type
- < ASCII string char* type
- < Unicode string wchar_t* type
- < Undefined type
- < SIgned 64-bit floating-point
- < Signed 32-bit floating-point
- < Signed 16-bit integer
- < Signed 32-bit integer
- < Signed 64-bit integer
- < Unsigned 16-bit integer
- < Unsigned 32-bit integer
- < Unsigned 64-bit integer
- < “A is child of B” means that A was created by B (inverse of is_parent_of)
- < “A is continuation of B” means that A assumes the dependencies of B
- < “A is continued by B” means that B assumes the dependencies of A (inverse of is_continuation_of)
- < “A is dependent on B” means that A cannot start until B completes
- < “A is parent of B” means that A created B
- < “A is predecessor to B” means that B cannot start until A completes (inverse of is_dependent_on)
- < “A is sibling of B” means that A and B were created as a group
- <\brief 32-bit machine code.
- <\brief 64-bit machine code.
- <\brief Native to the process architecture that is calling it.
- <\brief The agent is not running; iJIT_NotifyEvent calls will not be processed.
- <\brief The agent is running and ready to process notifications.
- <\brief Executable code.
- <\brief Data (not executable code). VTune Amplifier uses the format string (see iJIT_Method_Update) to represent this data in the VTune Amplifier GUI
- <\brief Use the previous markup for the trace. Can be used for the following iJVM_EVENT_TYPE_METHOD_UPDATE_V2 events, if the type of the previously reported segment type is the same.
- <\brief Send when an inline dynamic code is JIT compiled and loaded into memory by the JIT engine, but before the parent code region starts executing. Use iJIT_Method_Inline_Load as event data.
- <\brief Send when dynamic code is JIT compiled and loaded into memory by the JIT engine, but before the code is executed. Use iJIT_Method_Load as event data.
- <\brief Send when a dynamic code is JIT compiled and loaded into memory by the JIT engine, but before the code is executed. Use iJIT_Method_Load_V2 as event data.
- <\brief Send when a dynamic code is JIT compiled and loaded into memory by the JIT engine, but before the code is executed. Use iJIT_Method_Load_V3 as event data.
- <\brief Send when compiled dynamic code is being unloaded from memory. Use iJIT_Method_Load as event data.
- <\brief Send to provide new content for a previously reported dynamic code. The previous content will be invalidated starting from the time of the notification. Use iJIT_Method_Load as event data but required fields are following:
- @cond exclude_from_documentation
- <\brief Send this to shutdown the agent. Use NULL for event data.
Statics
- @endcond
Functions
- @brief Generates a new unique method ID.
- @brief Returns the current mode of the agent.
- @brief Reports infomation about JIT-compiled code to the agent.
Type Aliases
- @brief Description of a single entry in the line number information of a code region. @details A table of line number entries gives information about how the reported code region is mapped to source file. Intel(R) VTune(TM) Amplifier uses line number information to attribute the samples (virtual address) to a line number. \n It is acceptable to report different code addresses for the same source line: @code Offset LineNumber 1 2 12 4 15 2 18 1 21 30
- @cond exclude_from_documentation
- @brief Placeholder for custom track types. Currently, “normal” custom track is the only available track type.
- @enum __itt_collection_scope @brief Enumerator for collection scopes
- @brief describes the type of context metadata
- @brief opaque structure for counter identification / /** @cond exclude_from_documentation
- @cond exclude_from_gpa_documentation / /* @defgroup events Events @ingroup public Events group @{ / /** @brief user event type
- @cond exclude_from_documentation
- @defgroup heap Heap @ingroup public Heap group @{
- @ingroup parameters @brief describes the type of metadata
- @enum __itt_model_disable @brief Enumerator for the disable methods
- @cond exclude_from_documentation
- @defgroup Intel Processor Trace control API from this group provides control over collection and analysis of Intel Processor Trace (Intel PT) data Information about Intel Processor Trace technology can be found here (Volume 3 chapter 35): https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf Use this API to mark particular code regions for loading detailed performance statistics. This mode makes your analysis faster and more accurate. @{
- @ingroup relations @brief The kind of relation between two instances is specified by the enumerated type __itt_relation. Relations between instances can be added with an API call. The relation API uses instance IDs. Relations can be added before or after the actual instances are created and persist independently of the instances. This is the motivation for having different lifetimes for instance IDs and the actual instances.
- @brief Describes the scope of an event object in the trace.
- @cond exclude_from_documentation
- @enum __itt_suppress_mode @brief Enumerator for the suppressing modes
- @cond exclude_from_documentation
- @brief Enumerator for the code architecture.
- @brief Enumerator for the agent’s mode
- @cond exclude_from_documentation / /* @brief Description of a segment type @details Use the segment type to specify a type of data supplied with the iJVM_EVENT_TYPE_METHOD_UPDATE_V2 event to be applied to a certain code trace.
- @brief Description of an inline JIT-compiled method @details When you use the_iJIT_Method_Inline_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_INLINE_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load_V2 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V2 as an event type to report it.
- @brief Description of a JIT-compiled method @details The iJIT_Method_Load_V3 structure is the same as iJIT_Method_Load_V2 with a newly introduced ‘arch’ field that specifies architecture of the code region. When you use the iJIT_Method_Load_V3 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V3 as an event type to report it.
- @brief Description of a dynamic update of the content within JIT-compiled method @details The JIT engine may generate the methods that are updated at runtime partially by mixed (data + executable code) content. When you use the iJIT_Method_Update structure to describe the update of the content within a JIT-compiled method, use iJVM_EVENT_TYPE_METHOD_UPDATE_V2 as an event type to report it.
- @brief Enumerator for the types of notifications
- @brief Description of a single entry in the line number information of a code region. @details A table of line number entries gives information about how the reported code region is mapped to source file. Intel(R) VTune(TM) Amplifier uses line number information to attribute the samples (virtual address) to a line number. \n It is acceptable to report different code addresses for the same source line: @code Offset LineNumber 1 2 12 4 15 2 18 1 21 30
- @brief Description of an inline JIT-compiled method @details When you use the_iJIT_Method_Inline_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_INLINE_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED as an event type to report it.
- @brief Description of a JIT-compiled method @details When you use the iJIT_Method_Load_V2 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V2 as an event type to report it.
- @brief Description of a JIT-compiled method @details The iJIT_Method_Load_V3 structure is the same as iJIT_Method_Load_V2 with a newly introduced ‘arch’ field that specifies architecture of the code region. When you use the iJIT_Method_Load_V3 structure to describe the JIT compiled method, use iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V3 as an event type to report it.
- @brief Description of a dynamic update of the content within JIT-compiled method @details The JIT engine may generate the methods that are updated at runtime partially by mixed (data + executable code) content. When you use the iJIT_Method_Update structure to describe the update of the content within a JIT-compiled method, use iJVM_EVENT_TYPE_METHOD_UPDATE_V2 as an event type to report it.