[][src]Crate ittapi_rs

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

_LineNumberInfo

@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

___itt_clock_domain
___itt_clock_info
___itt_counter
___itt_domain
___itt_id
___itt_module_object
___itt_section_info
___itt_string_handle
___itt_track
___itt_track_group
__fsid_t
_iJIT_Method_Inline_Load

@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.

_iJIT_Method_Load

@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.

_iJIT_Method_Load_V2

@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.

_iJIT_Method_Load_V3

@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.

_iJIT_Method_Update

@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.

max_align_t

Constants

INT8_MIN
INT8_MAX
INT16_MIN
INT16_MAX
INT32_MIN
INT32_MAX
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MIN
INT_FAST8_MAX
INT_FAST16_MIN
INT_FAST16_MAX
INT_FAST32_MIN
INT_FAST32_MAX
INT_LEAST8_MIN
INT_LEAST8_MAX
INT_LEAST16_MIN
INT_LEAST16_MAX
INT_LEAST32_MIN
INT_LEAST32_MAX
ITT_MAJOR
ITT_MINOR
ITT_OS
ITT_OS_FREEBSD
ITT_OS_LINUX
ITT_OS_MAC
ITT_OS_WIN
ITT_PLATFORM
ITT_PLATFORM_FREEBSD
ITT_PLATFORM_MAC
ITT_PLATFORM_POSIX
ITT_PLATFORM_WIN
PTRDIFF_MAX
PTRDIFF_MIN
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
WINT_MAX
WINT_MIN
_ATFILE_SOURCE
_BITS_STDINT_INTN_H
_BITS_STDINT_UINTN_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_FEATURES_H
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_SYS_CDEFS_H
__FD_SETSIZE
__GLIBC_MINOR__
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNU_LIBRARY__
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__OFF_T_MATCHES_OFF64_T
__RLIM_T_MATCHES_RLIM64_T
__STDC_IEC_559__
__STDC_IEC_559_COMPLEX__
__STDC_ISO_10646__
__STDC_NO_THREADS__
__SYSCALL_WORDSIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
___itt_track_group_type___itt_track_group_type_normal
___itt_track_type___itt_track_type_normal
__glibc_c99_flexarr_available
__itt_attr_barrier
__itt_attr_mutex
__itt_av_data_type___itt_e_char
__itt_av_data_type___itt_e_double
__itt_av_data_type___itt_e_first
__itt_av_data_type___itt_e_float
__itt_av_data_type___itt_e_int16
__itt_av_data_type___itt_e_int32
__itt_av_data_type___itt_e_int64
__itt_av_data_type___itt_e_last
__itt_av_data_type___itt_e_uchar
__itt_av_data_type___itt_e_uint16
__itt_av_data_type___itt_e_uint32
__itt_av_data_type___itt_e_uint64
__itt_heap_growth
__itt_heap_leaks
__itt_metadata_type___itt_metadata_double

< SIgned 64-bit floating-point

__itt_metadata_type___itt_metadata_float

< Signed 32-bit floating-point

__itt_metadata_type___itt_metadata_s16

< Signed 16-bit integer

__itt_metadata_type___itt_metadata_s32

< Signed 32-bit integer

__itt_metadata_type___itt_metadata_s64

< Signed 64-bit integer

__itt_metadata_type___itt_metadata_u16

< Unsigned 16-bit integer

__itt_metadata_type___itt_metadata_u32

< Unsigned 32-bit integer

__itt_metadata_type___itt_metadata_u64

< Unsigned 64-bit integer

__itt_metadata_type___itt_metadata_unknown
__itt_model_disable___itt_model_disable_collection
__itt_model_disable___itt_model_disable_observation
__itt_module_type___itt_module_type_coff
__itt_module_type___itt_module_type_elf
__itt_module_type___itt_module_type_unknown
__itt_relation___itt_relation_is_child_of

< "A is child of B" means that A was created by B (inverse of is_parent_of)

__itt_relation___itt_relation_is_continuation_of

< "A is continuation of B" means that A assumes the dependencies of B

__itt_relation___itt_relation_is_continued_by

< "A is continued by B" means that B assumes the dependencies of A (inverse of is_continuation_of)

__itt_relation___itt_relation_is_dependent_on

< "A is dependent on B" means that A cannot start until B completes

__itt_relation___itt_relation_is_parent_of

< "A is parent of B" means that A created B

__itt_relation___itt_relation_is_predecessor_to

< "A is predecessor to B" means that B cannot start until A completes (inverse of is_dependent_on)

__itt_relation___itt_relation_is_sibling_of

< "A is sibling of B" means that A and B were created as a group

__itt_relation___itt_relation_is_unknown
__itt_scope___itt_scope_global
__itt_scope___itt_scope_marker
__itt_scope___itt_scope_task
__itt_scope___itt_scope_track
__itt_scope___itt_scope_track_group
__itt_scope___itt_scope_unknown
__itt_section_exec
__itt_section_read
__itt_section_type_itt_section_type_bss
__itt_section_type_itt_section_type_data
__itt_section_type_itt_section_type_text
__itt_section_type_itt_section_type_unknown
__itt_section_write
__itt_suppress_all_errors
__itt_suppress_memory_errors
__itt_suppress_mode___itt_suppress_range
__itt_suppress_mode___itt_unsuppress_range
__itt_suppress_threading_errors
_iJIT_CodeArchitecture_iJIT_CA_32

<\brief 32-bit machine code.

_iJIT_CodeArchitecture_iJIT_CA_64

<\brief 64-bit machine code.

_iJIT_CodeArchitecture_iJIT_CA_NATIVE

<\brief Native to the process architecture that is calling it.

_iJIT_IsProfilingActiveFlags_iJIT_NOTHING_RUNNING

<\brief The agent is not running; iJIT_NotifyEvent calls will not be processed.

_iJIT_IsProfilingActiveFlags_iJIT_SAMPLING_ON

<\brief The agent is running and ready to process notifications.

_iJIT_SegmentType_iJIT_CT_CODE

<\brief Executable code.

_iJIT_SegmentType_iJIT_CT_DATA

<\brief Data (not executable code). VTune Amplifier uses the format string (see iJIT_Method_Update) to represent this data in the VTune Amplifier GUI

_iJIT_SegmentType_iJIT_CT_EOF
_iJIT_SegmentType_iJIT_CT_KEEP

<\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.

_iJIT_SegmentType_iJIT_CT_UNKNOWN
iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_INLINE_LOAD_FINISHED

<\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.

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED

<\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.

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V2

<\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.

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED_V3

<\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.

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_UNLOAD_START

<\brief Send when compiled dynamic code is being unloaded from memory. Use iJIT_Method_Load as event data.

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_UPDATE

<\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:

iJIT_jvm_event_iJVM_EVENT_TYPE_METHOD_UPDATE_V2

@cond exclude_from_documentation

iJIT_jvm_event_iJVM_EVENT_TYPE_SHUTDOWN

<\brief Send this to shutdown the agent. Use NULL for event data.

Statics

__itt_av_save_ptr__3_0
__itt_clock_domain_create_ptr__3_0
__itt_clock_domain_reset_ptr__3_0
__itt_counter_create_ptr__3_0
__itt_counter_create_typed_ptr__3_0
__itt_counter_dec_delta_ptr__3_0
__itt_counter_dec_delta_v3_ptr__3_0
__itt_counter_dec_ptr__3_0
__itt_counter_dec_v3_ptr__3_0
__itt_counter_destroy_ptr__3_0
__itt_counter_inc_delta_ptr__3_0
__itt_counter_inc_delta_v3_ptr__3_0
__itt_counter_inc_ptr__3_0
__itt_counter_inc_v3_ptr__3_0
__itt_counter_set_value_ex_ptr__3_0
__itt_counter_set_value_ptr__3_0
__itt_detach_ptr__3_0
__itt_domain_create_ptr__3_0
__itt_enable_attach_ptr__3_0
__itt_event_create_ptr__3_0
__itt_event_end_ptr__3_0
__itt_event_start_ptr__3_0
__itt_frame_begin_v3_ptr__3_0
__itt_frame_end_v3_ptr__3_0
__itt_frame_submit_v3_ptr__3_0
__itt_fsync_acquired_ptr__3_0
__itt_fsync_cancel_ptr__3_0
__itt_fsync_prepare_ptr__3_0
__itt_fsync_releasing_ptr__3_0
__itt_get_timestamp_ptr__3_0
__itt_heap_allocate_begin_ptr__3_0
__itt_heap_allocate_end_ptr__3_0
__itt_heap_free_begin_ptr__3_0
__itt_heap_free_end_ptr__3_0
__itt_heap_function_create_ptr__3_0
__itt_heap_internal_access_begin_ptr__3_0
__itt_heap_internal_access_end_ptr__3_0
__itt_heap_reallocate_begin_ptr__3_0
__itt_heap_reallocate_end_ptr__3_0
__itt_heap_record_memory_growth_begin_ptr__3_0
__itt_heap_record_memory_growth_end_ptr__3_0
__itt_heap_record_ptr__3_0
__itt_heap_reset_detection_ptr__3_0
__itt_id_create_ex_ptr__3_0
__itt_id_create_ptr__3_0
__itt_id_destroy_ex_ptr__3_0
__itt_id_destroy_ptr__3_0
__itt_marker_ex_ptr__3_0
__itt_marker_ptr__3_0
__itt_metadata_add_ptr__3_0
__itt_metadata_add_with_scope_ptr__3_0
__itt_metadata_str_add_ptr__3_0
__itt_metadata_str_add_with_scope_ptr__3_0
__itt_model_aggregate_task_ptr__3_0
__itt_model_clear_uses_ptr__3_0
__itt_model_disable_pop_ptr__3_0
__itt_model_disable_push_ptr__3_0
__itt_model_induction_uses_ptr__3_0
__itt_model_iteration_taskAL_ptr__3_0
__itt_model_iteration_taskA_ptr__3_0
__itt_model_lock_acquire_2_ptr__3_0
__itt_model_lock_acquire_ptr__3_0
__itt_model_lock_release_2_ptr__3_0
__itt_model_lock_release_ptr__3_0
__itt_model_observe_uses_ptr__3_0
__itt_model_record_allocation_ptr__3_0
__itt_model_record_deallocation_ptr__3_0
__itt_model_reduction_uses_ptr__3_0
__itt_model_site_beginAL_ptr__3_0
__itt_model_site_beginA_ptr__3_0
__itt_model_site_begin_ptr__3_0
__itt_model_site_end_2_ptr__3_0
__itt_model_site_end_ptr__3_0
__itt_model_task_beginAL_ptr__3_0
__itt_model_task_beginA_ptr__3_0
__itt_model_task_begin_ptr__3_0
__itt_model_task_end_2_ptr__3_0
__itt_model_task_end_ptr__3_0
__itt_module_load_ptr__3_0
__itt_module_load_with_sections_ptr__3_0
__itt_module_unload_ptr__3_0
__itt_module_unload_with_sections_ptr__3_0
__itt_null
__itt_pause_ptr__3_0
__itt_pt_region_create_ptr__3_0
__itt_region_begin_ptr__3_0
__itt_region_end_ptr__3_0
__itt_relation_add_ex_ptr__3_0
__itt_relation_add_ptr__3_0
__itt_relation_add_to_current_ex_ptr__3_0
__itt_relation_add_to_current_ptr__3_0
__itt_resume_ptr__3_0
__itt_set_track_ptr__3_0
__itt_string_handle_create_ptr__3_0
__itt_suppress_clear_range_ptr__3_0
__itt_suppress_mark_range_ptr__3_0
__itt_suppress_pop_ptr__3_0
__itt_suppress_push_ptr__3_0
__itt_sync_acquired_ptr__3_0
__itt_sync_cancel_ptr__3_0
__itt_sync_create_ptr__3_0
__itt_sync_destroy_ptr__3_0
__itt_sync_prepare_ptr__3_0
__itt_sync_releasing_ptr__3_0
__itt_sync_rename_ptr__3_0
__itt_task_begin_ex_ptr__3_0
__itt_task_begin_fn_ex_ptr__3_0
__itt_task_begin_fn_ptr__3_0
__itt_task_begin_overlapped_ptr__3_0
__itt_task_begin_ptr__3_0
__itt_task_end_ex_ptr__3_0
__itt_task_end_overlapped_ptr__3_0
__itt_task_end_ptr__3_0
__itt_task_group_ptr__3_0
__itt_thread_ignore_ptr__3_0
__itt_thread_set_name_ptr__3_0
__itt_track_create_ptr__3_0
__itt_track_group_create_ptr__3_0

Functions

__itt_av_save
__itt_clock_domain_create

@ingroup clockdomains @brief Create a clock domain. Certain applications require the capability to trace their application using a clock domain different than the CPU, for instance the instrumentation of events that occur on a GPU. Because the set of domains is expected to be static over the application's execution time, there is no mechanism to destroy a domain. Any domain can be accessed by any thread in the process, regardless of which thread created the domain. This call is thread-safe. @param[in] fn A pointer to a callback function which retrieves alternative CPU timestamps @param[in] fn_data Argument for a callback function; may be NULL

__itt_clock_domain_reset

@ingroup clockdomains @brief Recalculate clock domains frequences and clock base timestamps.

__itt_counter_create
__itt_counter_create_typed
__itt_counter_dec

@brief Decrement the unsigned 64 bits integer counter value

__itt_counter_dec_delta

@endcond */ @brief Decrement the unsigned 64 bits integer counter value with x

__itt_counter_dec_delta_v3

@ingroup counters @brief Decrement a counter by the value specified in delta. @param[in] domain The domain controlling the call. Counter names are not domain specific. The domain argument is used only to enable or disable the API calls. @param[in] name The name of the counter @param[in] delta The amount by which to decrement the counter

__itt_counter_dec_v3

@ingroup counters @brief Decrement a counter by one. The first call with a given name creates a counter by that name and sets its value to zero. Successive calls decrement the counter value. @param[in] domain The domain controlling the call. Counter names are not domain specific. The domain argument is used only to enable or disable the API calls. @param[in] name The name of the counter

__itt_counter_destroy

@brief Destroy the counter identified by the pointer previously returned by __itt_counter_create() or __itt_counter_create_typed()

__itt_counter_inc

@brief Increment the unsigned 64 bits integer counter value

__itt_counter_inc_delta

@endcond */ @brief Increment the unsigned 64 bits integer counter value with x

__itt_counter_inc_delta_v3

@ingroup counters @brief Increment a counter by the value specified in delta. @param[in] domain The domain controlling the call. Counter names are not domain specific. The domain argument is used only to enable or disable the API calls. @param[in] name The name of the counter @param[in] delta The amount by which to increment the counter

__itt_counter_inc_v3

@ingroup counters @brief Increment a counter by one. The first call with a given name creates a counter by that name and sets its value to zero. Successive calls increment the counter value. @param[in] domain The domain controlling the call. Counter names are not domain specific. The domain argument is used only to enable or disable the API calls. @param[in] name The name of the counter

__itt_counter_set_value

@brief Set the counter value

__itt_counter_set_value_ex

@brief Set the counter value

__itt_detach

@brief Detach collection

__itt_domain_create
__itt_enable_attach

@endcond

__itt_event_create
__itt_event_end

@brief Record an event end occurrence. @note It is optional if events do not have durations. @return __itt_err upon failure (invalid event id/user event feature not enabled)

__itt_event_start

@brief Record an event occurrence. @return __itt_err upon failure (invalid event id/user event feature not enabled)

__itt_frame_begin_v3

@ingroup frames @brief Begin a frame instance. Successive calls to __itt_frame_begin with the same ID are ignored until a call to __itt_frame_end with the same ID. @param[in] domain The domain for this frame instance @param[in] id The instance ID for this frame instance or NULL

__itt_frame_end_v3

@ingroup frames @brief End a frame instance. The first call to __itt_frame_end with a given ID ends the frame. Successive calls with the same ID are ignored, as are calls that do not have a matching __itt_frame_begin call. @param[in] domain The domain for this frame instance @param[in] id The instance ID for this frame instance or NULL for current

__itt_frame_submit_v3

@ingroup frames @brief Submits a frame instance. Successive calls to __itt_frame_begin or __itt_frame_submit with the same ID are ignored until a call to __itt_frame_end or __itt_frame_submit with the same ID. Passing special __itt_timestamp_none value as "end" argument means take the current timestamp as the end timestamp. @param[in] domain The domain for this frame instance @param[in] id The instance ID for this frame instance or NULL @param[in] begin Timestamp of the beginning of the frame @param[in] end Timestamp of the end of the frame

__itt_fsync_acquired

@ingroup legacy @deprecated Legacy API @brief Fast synchronization which does no require spinning.

__itt_fsync_cancel

@ingroup legacy @deprecated Legacy API @brief Fast synchronization which does no require spinning.

__itt_fsync_prepare

@name group of functions is used for correctness checking tools @ingroup legacy @deprecated Legacy API @brief Fast synchronization which does no require spinning.

__itt_fsync_releasing

@ingroup legacy @deprecated Legacy API @brief Fast synchronization which does no require spinning.

__itt_get_timestamp

@ingroup timestamps @brief Return timestamp corresponding to the current moment. This returns the timestamp in the format that is the most relevant for the current host or platform (RDTSC, QPC, and others). You can use the "<" operator to compare __itt_timestamp values.

__itt_heap_allocate_begin

@brief Record an allocation begin occurrence.

__itt_heap_allocate_end

@brief Record an allocation end occurrence.

__itt_heap_free_begin

@brief Record an free begin occurrence.

__itt_heap_free_end

@brief Record an free end occurrence.

__itt_heap_function_create
__itt_heap_internal_access_begin

@brief internal access begin

__itt_heap_internal_access_end

@brief internal access end

__itt_heap_reallocate_begin

@brief Record an reallocation begin occurrence.

__itt_heap_reallocate_end

@brief Record an reallocation end occurrence.

__itt_heap_record

@brief report

__itt_heap_record_memory_growth_begin

@brief record memory growth begin

__itt_heap_record_memory_growth_end

@brief record memory growth end

__itt_heap_reset_detection

@brief heap reset detection

__itt_id_create

@ingroup ids @brief Create an instance of identifier. This establishes the beginning of the lifetime of an instance of the given ID in the trace. Once this lifetime starts, the ID can be used to tag named entity instances in calls such as __itt_task_begin, and to specify relationships among identified named entity instances, using the \ref relations APIs. Instance IDs are not domain specific! @param[in] domain The domain controlling the execution of this call. @param[in] id The ID to create.

__itt_id_create_ex

@ingroup clockdomain @brief Create an instance of identifier. This establishes the beginning of the lifetime of an instance of the given ID in the trace. Once this lifetime starts, the ID can be used to tag named entity instances in calls such as __itt_task_begin, and to specify relationships among identified named entity instances, using the \ref relations APIs. @param[in] domain The domain controlling the execution of this call. @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] id The ID to create.

__itt_id_destroy

@ingroup ids @brief Destroy an instance of identifier. This ends the lifetime of the current instance of the given ID value in the trace. Any relationships that are established after this lifetime ends are invalid. This call must be performed before the given ID value can be reused for a different named entity instance. @param[in] domain The domain controlling the execution of this call. @param[in] id The ID to destroy.

__itt_id_destroy_ex

@ingroup clockdomain @brief Destroy an instance of identifier. This ends the lifetime of the current instance of the given ID value in the trace. Any relationships that are established after this lifetime ends are invalid. This call must be performed before the given ID value can be reused for a different named entity instance. @param[in] domain The domain controlling the execution of this call. @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] id The ID to destroy.

__itt_mark_pt_region_begin

@brief function contains a special code pattern identified on the post-processing stage and marks the beginning of a code region targeted for Intel PT analysis @param[in] region - region id, 0 <= region < 8

__itt_mark_pt_region_end

@brief function contains a special code pattern identified on the post-processing stage and marks the end of a code region targeted for Intel PT analysis @param[in] region - region id, 0 <= region < 8

__itt_marker

@ingroup markers @brief Create a marker instance @param[in] domain The domain for this marker @param[in] id The instance ID for this marker or __itt_null @param[in] name The name for this marker @param[in] scope The scope for this marker

__itt_marker_ex

@ingroup markers @brief Create a marker instance. @param[in] domain The domain for this marker @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] id The instance ID for this marker, or __itt_null @param[in] name The name for this marker @param[in] scope The scope for this marker

__itt_metadata_add

@ingroup parameters @brief Add metadata to an instance of a named entity. @param[in] domain The domain controlling the call @param[in] id The identifier of the instance to which the metadata is to be added, or __itt_null to add to the current task @param[in] key The name of the metadata @param[in] type The type of the metadata @param[in] count The number of elements of the given type. If count == 0, no metadata will be added. @param[in] data The metadata itself

__itt_metadata_add_with_scope

@ingroup parameters @brief Add metadata to an instance of a named entity. @param[in] domain The domain controlling the call @param[in] scope The scope of the instance to which the metadata is to be added

__itt_metadata_str_add
__itt_metadata_str_add_with_scope
__itt_model_aggregate_task
__itt_model_clear_uses

@brief ANNOTATE_CLEAR_USES support

__itt_model_disable_pop
__itt_model_disable_push

@brief ANNOTATE_DISABLE_PUSH/ANNOTATE_DISABLE_POP support

__itt_model_induction_uses

@brief ANNOTATE_INDUCTION_USES support

__itt_model_iteration_taskA
__itt_model_iteration_taskAL
__itt_model_lock_acquire

@brief ANNOTATE_LOCK_ACQUIRE/ANNOTATE_LOCK_RELEASE support

__itt_model_lock_acquire_2
__itt_model_lock_release
__itt_model_lock_release_2
__itt_model_observe_uses

@brief ANNOTATE_OBSERVE_USES support

__itt_model_record_allocation

@brief ANNOTATE_RECORD_ALLOCATION/ANNOTATE_RECORD_DEALLOCATION support

__itt_model_record_deallocation
__itt_model_reduction_uses

@brief ANNOTATE_REDUCTION_USES support

__itt_model_site_begin

@brief ANNOTATE_SITE_BEGIN/ANNOTATE_SITE_END support.

__itt_model_site_beginA
__itt_model_site_beginAL
__itt_model_site_end
__itt_model_site_end_2
__itt_model_task_begin

@brief ANNOTATE_TASK_BEGIN/ANNOTATE_TASK_END support

__itt_model_task_beginA
__itt_model_task_beginAL
__itt_model_task_end
__itt_model_task_end_2
__itt_module_load
__itt_module_load_with_sections

@brief Load module content and its loaded(relocated) sections. This API is useful to save a module, or specify its location on the system and report information about loaded sections. The target module is saved on the system if module buffer content and size are available. If module buffer content and size are unavailable, the module name contains the path to the existing binary module. @param[in] module_obj - provides module and section information, along with unique module identifiers (name,module ID) which bind the binary module to particular sections.

__itt_module_unload

@brief Report module unload This API is used to report necessary information in case of bypassing default system loader. Notification should be done just before the module is unloaded from process memory. @param[in] addr - base address of loaded module

__itt_module_unload_with_sections

@brief Unload a module and its loaded(relocated) sections. This API notifies that the module and its sections were unloaded. @param[in] module_obj - provides module and sections information, along with unique module identifiers (name,module ID) which bind the binary module to particular sections.

__itt_pause

@defgroup control Collection Control @ingroup public General behavior: application continues to run, but no profiling information is being collected

__itt_pt_region_create
__itt_region_begin

@defgroup regions Regions @ingroup public Regions group @{ @ingroup regions @brief Begin of region instance. Successive calls to __itt_region_begin with the same ID are ignored until a call to __itt_region_end with the same ID @param[in] domain The domain for this region instance @param[in] id The instance ID for this region instance. Must not be __itt_null @param[in] parentid The instance ID for the parent of this region instance, or __itt_null @param[in] name The name of this region

__itt_region_end

@ingroup regions @brief End of region instance. The first call to __itt_region_end with a given ID ends the region. Successive calls with the same ID are ignored, as are calls that do not have a matching __itt_region_begin call. @param[in] domain The domain for this region instance @param[in] id The instance ID for this region instance

__itt_relation_add

@ingroup relations @brief Add a relation between two instance identifiers. @param[in] domain The domain controlling this call @param[in] head The ID for the head of the relation @param[in] relation The kind of relation @param[in] tail The ID for the tail of the relation

__itt_relation_add_ex

@ingroup clockdomain @brief Add a relation between two instance identifiers. @param[in] domain The domain controlling this call @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] head The ID for the head of the relation @param[in] relation The kind of relation @param[in] tail The ID for the tail of the relation

__itt_relation_add_to_current

@ingroup relations @brief Add a relation to the current task instance. The current task instance is the head of the relation. @param[in] domain The domain controlling this call @param[in] relation The kind of relation @param[in] tail The ID for the tail of the relation

__itt_relation_add_to_current_ex

@ingroup clockdomain @brief Add a relation to the current task instance. The current task instance is the head of the relation. @param[in] domain The domain controlling this call @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] relation The kind of relation @param[in] tail The ID for the tail of the relation

__itt_resume

@brief Resume collection

__itt_set_track

@brief Set the logical track.

__itt_string_handle_create
__itt_suppress_clear_range

@brief Undo the effect of a matching call to __itt_suppress_mark_range. If not matching call is found, nothing is changed.

__itt_suppress_mark_range

@brief Mark a range of memory for error suppression or unsuppression for error types included in mask

__itt_suppress_pop

@brief Undo the effects of the matching call to __itt_suppress_push

__itt_suppress_push

@brief Start suppressing errors identified in mask on this thread

__itt_sync_acquired

@brief Successful spin loop completion (sync object acquired)

__itt_sync_cancel

@brief Quit spin loop without acquiring spin object

__itt_sync_create
__itt_sync_destroy

@brief Destroy a synchronization object. @param addr Handle for the synchronization object.

__itt_sync_prepare

@name group of functions is used for performance measurement tools @brief Enter spin loop on user-defined sync object

__itt_sync_releasing

@brief Start sync object releasing code. Is called before the lock release call.

__itt_sync_rename
__itt_task_begin

@ingroup tasks @brief Begin a task instance. @param[in] domain The domain for this task @param[in] taskid The instance ID for this task instance, or __itt_null @param[in] parentid The parent instance to which this task instance belongs, or __itt_null @param[in] name The name of this task

__itt_task_begin_ex

@ingroup clockdomain @brief Begin a task instance. @param[in] domain The domain for this task @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] taskid The instance ID for this task instance, or __itt_null @param[in] parentid The parent instance to which this task instance belongs, or __itt_null @param[in] name The name of this task

__itt_task_begin_fn

@ingroup tasks @brief Begin a task instance. @param[in] domain The domain for this task @param[in] taskid The identifier for this task instance (may be 0) @param[in] parentid The parent of this task (may be 0) @param[in] fn The pointer to the function you are tracing

__itt_task_begin_fn_ex

@ingroup clockdomain @brief Begin a task instance. @param[in] domain The domain for this task @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp. @param[in] taskid The identifier for this task instance, or __itt_null @param[in] parentid The parent of this task, or __itt_null @param[in] fn The pointer to the function you are tracing

__itt_task_begin_overlapped

@ingroup tasks @brief Begin an overlapped task instance. @param[in] domain The domain for this task. @param[in] taskid The identifier for this task instance, cannot be __itt_null. @param[in] parentid The parent of this task, or __itt_null. @param[in] name The name of this task.

__itt_task_end

@ingroup tasks @brief End the current task instance. @param[in] domain The domain for this task

__itt_task_end_ex

@ingroup clockdomain @brief End the current task instance. @param[in] domain The domain for this task @param[in] clock_domain The clock domain controlling the execution of this call. @param[in] timestamp The user defined timestamp.

__itt_task_end_overlapped

@ingroup tasks @brief End an overlapped task instance. @param[in] domain The domain for this task @param[in] taskid Explicit ID of finished task

__itt_task_group

@defgroup taskgroup Task Group @ingroup public Task Group @{ @ingroup task_groups @brief Denotes a task_group instance. Successive calls to __itt_task_group with the same ID are ignored. @param[in] domain The domain for this task_group instance @param[in] id The instance ID for this task_group instance. Must not be __itt_null. @param[in] parentid The instance ID for the parent of this task_group instance, or __itt_null. @param[in] name The name of this task_group

__itt_thread_ignore

@brief Mark current thread as ignored from this point on, for the duration of its existence.

__itt_thread_set_name
__itt_track_create

@brief Create logical track.

__itt_track_group_create

@brief Create logical track group.

iJIT_GetNewMethodID

@brief Generates a new unique method ID.

iJIT_IsProfilingActive

@brief Returns the current mode of the agent.

iJIT_NotifyEvent

@brief Reports infomation about JIT-compiled code to the agent.

Type Definitions

LineNumberInfo
___itt_track_group_type

@cond exclude_from_documentation

___itt_track_type

@brief Placeholder for custom track types. Currently, "normal" custom track is the only available track type.

__blkcnt64_t
__blkcnt_t
__blksize_t
__caddr_t
__clock_t
__clockid_t
__daddr_t
__dev_t
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__intmax_t
__intptr_t
__itt_av_data_type

@enum __itt_av_data_type @brief Defines types of arrays data (for C/C++ intrinsic types)

__itt_av_save_ptr__3_0_t
__itt_clock_domain
__itt_clock_domain_create_ptr__3_0_t
__itt_clock_domain_reset_ptr__3_0_t
__itt_clock_info
__itt_counter

@brief opaque structure for counter identification

__itt_counter_create_ptr__3_0_t
__itt_counter_create_typed_ptr__3_0_t
__itt_counter_dec_delta_ptr__3_0_t
__itt_counter_dec_delta_v3_ptr__3_0_t
__itt_counter_dec_ptr__3_0_t
__itt_counter_dec_v3_ptr__3_0_t
__itt_counter_destroy_ptr__3_0_t
__itt_counter_inc_delta_ptr__3_0_t
__itt_counter_inc_delta_v3_ptr__3_0_t
__itt_counter_inc_ptr__3_0_t
__itt_counter_inc_v3_ptr__3_0_t
__itt_counter_set_value_ex_ptr__3_0_t
__itt_counter_set_value_ptr__3_0_t
__itt_detach_ptr__3_0_t
__itt_domain
__itt_domain_create_ptr__3_0_t
__itt_enable_attach_ptr__3_0_t
__itt_event

@cond exclude_from_gpa_documentation */ @defgroup events Events @ingroup public Events group @{

__itt_event_create_ptr__3_0_t
__itt_event_end_ptr__3_0_t
__itt_event_start_ptr__3_0_t
__itt_frame_begin_v3_ptr__3_0_t
__itt_frame_end_v3_ptr__3_0_t
__itt_frame_submit_v3_ptr__3_0_t
__itt_fsync_acquired_ptr__3_0_t
__itt_fsync_cancel_ptr__3_0_t
__itt_fsync_prepare_ptr__3_0_t
__itt_fsync_releasing_ptr__3_0_t
__itt_get_clock_info_fn

@cond exclude_from_documentation

__itt_get_timestamp_ptr__3_0_t
__itt_heap_allocate_begin_ptr__3_0_t
__itt_heap_allocate_end_ptr__3_0_t
__itt_heap_free_begin_ptr__3_0_t
__itt_heap_free_end_ptr__3_0_t
__itt_heap_function

@defgroup heap Heap @ingroup public Heap group @{

__itt_heap_function_create_ptr__3_0_t
__itt_heap_internal_access_begin_ptr__3_0_t
__itt_heap_internal_access_end_ptr__3_0_t
__itt_heap_reallocate_begin_ptr__3_0_t
__itt_heap_reallocate_end_ptr__3_0_t
__itt_heap_record_memory_growth_begin_ptr__3_0_t
__itt_heap_record_memory_growth_end_ptr__3_0_t
__itt_heap_record_ptr__3_0_t
__itt_heap_reset_detection_ptr__3_0_t
__itt_id
__itt_id_create_ex_ptr__3_0_t
__itt_id_create_ptr__3_0_t
__itt_id_destroy_ex_ptr__3_0_t
__itt_id_destroy_ptr__3_0_t
__itt_marker_ex_ptr__3_0_t
__itt_marker_ptr__3_0_t
__itt_metadata_add_ptr__3_0_t
__itt_metadata_add_with_scope_ptr__3_0_t
__itt_metadata_str_add_ptr__3_0_t
__itt_metadata_str_add_with_scope_ptr__3_0_t
__itt_metadata_type

@ingroup parameters @brief describes the type of metadata

__itt_model_aggregate_task_ptr__3_0_t
__itt_model_clear_uses_ptr__3_0_t
__itt_model_disable

@enum __itt_model_disable @brief Enumerator for the disable methods

__itt_model_disable_pop_ptr__3_0_t
__itt_model_disable_push_ptr__3_0_t
__itt_model_induction_uses_ptr__3_0_t
__itt_model_iteration_taskAL_ptr__3_0_t
__itt_model_iteration_taskA_ptr__3_0_t
__itt_model_lock_acquire_2_ptr__3_0_t
__itt_model_lock_acquire_ptr__3_0_t
__itt_model_lock_release_2_ptr__3_0_t
__itt_model_lock_release_ptr__3_0_t
__itt_model_observe_uses_ptr__3_0_t
__itt_model_record_allocation_ptr__3_0_t
__itt_model_record_deallocation_ptr__3_0_t
__itt_model_reduction_uses_ptr__3_0_t
__itt_model_site
__itt_model_site_beginAL_ptr__3_0_t
__itt_model_site_beginA_ptr__3_0_t
__itt_model_site_begin_ptr__3_0_t
__itt_model_site_end_2_ptr__3_0_t
__itt_model_site_end_ptr__3_0_t
__itt_model_site_instance
__itt_model_task
__itt_model_task_beginAL_ptr__3_0_t
__itt_model_task_beginA_ptr__3_0_t
__itt_model_task_begin_ptr__3_0_t
__itt_model_task_end_2_ptr__3_0_t
__itt_model_task_end_ptr__3_0_t
__itt_model_task_instance
__itt_module_load_ptr__3_0_t
__itt_module_load_with_sections_ptr__3_0_t
__itt_module_object
__itt_module_type

@cond exclude_from_documentation

__itt_module_unload_ptr__3_0_t
__itt_module_unload_with_sections_ptr__3_0_t
__itt_pause_ptr__3_0_t
__itt_pt_region

@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. @{

__itt_pt_region_create_ptr__3_0_t
__itt_region_begin_ptr__3_0_t
__itt_region_end_ptr__3_0_t
__itt_relation

@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.

__itt_relation_add_ex_ptr__3_0_t
__itt_relation_add_ptr__3_0_t
__itt_relation_add_to_current_ex_ptr__3_0_t
__itt_relation_add_to_current_ptr__3_0_t
__itt_resume_ptr__3_0_t
__itt_scope

@brief Describes the scope of an event object in the trace.

__itt_section_info
__itt_section_type

@cond exclude_from_documentation

__itt_set_track_ptr__3_0_t
__itt_string_handle
__itt_string_handle_create_ptr__3_0_t
__itt_suppress_clear_range_ptr__3_0_t
__itt_suppress_mark_range_ptr__3_0_t
__itt_suppress_mode

@enum __itt_model_disable @brief Enumerator for the disable methods

__itt_suppress_pop_ptr__3_0_t
__itt_suppress_push_ptr__3_0_t
__itt_sync_acquired_ptr__3_0_t
__itt_sync_cancel_ptr__3_0_t
__itt_sync_create_ptr__3_0_t
__itt_sync_destroy_ptr__3_0_t
__itt_sync_prepare_ptr__3_0_t
__itt_sync_releasing_ptr__3_0_t
__itt_sync_rename_ptr__3_0_t
__itt_task_begin_ex_ptr__3_0_t
__itt_task_begin_fn_ex_ptr__3_0_t
__itt_task_begin_fn_ptr__3_0_t
__itt_task_begin_overlapped_ptr__3_0_t
__itt_task_begin_ptr__3_0_t
__itt_task_end_ex_ptr__3_0_t
__itt_task_end_overlapped_ptr__3_0_t
__itt_task_end_ptr__3_0_t
__itt_task_group_ptr__3_0_t
__itt_thread_ignore_ptr__3_0_t
__itt_thread_set_name_ptr__3_0_t
__itt_timestamp

@cond exclude_from_documentation

__itt_track
__itt_track_create_ptr__3_0_t
__itt_track_group
__itt_track_group_create_ptr__3_0_t
__key_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uintmax_t
__useconds_t
_iJIT_CodeArchitecture

@brief Enumerator for the code architecture.

_iJIT_IsProfilingActiveFlags

@brief Enumerator for the agent's mode

_iJIT_SegmentType

@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.

iJIT_Method_Inline_Load
iJIT_Method_Load
iJIT_Method_Load_V2
iJIT_Method_Load_V3
iJIT_Method_Update
iJIT_jvm_event

@brief Enumerator for the types of notifications

int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
pLineNumberInfo
piJIT_Method_Inline_Load
piJIT_Method_Load
piJIT_Method_Load_V2
piJIT_Method_Load_V3
piJIT_Method_Update
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
wchar_t