Intel(R) Threading Building Blocks Doxygen Documentation version 4.2.3
|
Public User API functions and types. More...
Go to the source code of this file.
Typedefs | |
typedef unsigned char | __itt_pt_region |
typedef enum ___itt_track_type | __itt_track_type |
Placeholder for custom track types. Currently, "normal" custom track is the only available track type. | |
Enumerations | |
enum | __itt_scope { __itt_scope_unknown = 0 , __itt_scope_global , __itt_scope_track_group , __itt_scope_track , __itt_scope_task , __itt_scope_marker } |
Describes the scope of an event object in the trace. More... | |
enum | __itt_metadata_type { __itt_metadata_unknown = 0 , __itt_metadata_u64 , __itt_metadata_s64 , __itt_metadata_u32 , __itt_metadata_s32 , __itt_metadata_u16 , __itt_metadata_s16 , __itt_metadata_float , __itt_metadata_double } |
describes the type of metadata More... | |
enum | __itt_relation { __itt_relation_is_unknown = 0 , __itt_relation_is_dependent_on , __itt_relation_is_sibling_of , __itt_relation_is_parent_of , __itt_relation_is_continuation_of , __itt_relation_is_child_of , __itt_relation_is_continued_by , __itt_relation_is_predecessor_to } |
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. More... | |
enum | ___itt_track_type { __itt_track_type_normal = 0 } |
Placeholder for custom track types. Currently, "normal" custom track is the only available track type. More... | |
Functions | |
__itt_pt_region ITTAPI | __itt_pt_region_createA (const char *name) |
function saves a region name marked with Intel PT API and returns a region id. Only 7 names can be registered. Attempts to register more names will be ignored and a region id with auto names will be returned. For automatic naming of regions pass NULL as function parameter | |
__itt_pt_region ITTAPI | __itt_pt_region_createW (const wchar_t *name) |
void | __itt_mark_pt_region_begin (__itt_pt_region region) |
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 | |
void | __itt_mark_pt_region_end (__itt_pt_region region) |
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 | |
void ITTAPI | __itt_thread_set_nameA (const char *name) |
Sets thread name of calling thread. | |
void ITTAPI | __itt_thread_set_nameW (const wchar_t *name) |
__itt_domain *ITTAPI | __itt_domain_createA (const char *name) |
Create a domain. Create domain using some domain name: the URI naming style is recommended. 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. | |
__itt_domain *ITTAPI | __itt_domain_createW (const wchar_t *name) |
ITT_INLINE __itt_id ITTAPI | __itt_id_make (void *addr, unsigned long long extra) ITT_INLINE_ATTRIBUTE |
A convenience function is provided to create an ID without domain control. | |
void ITTAPI | __itt_id_create (const __itt_domain *domain, __itt_id id) |
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 Relations APIs. Instance IDs are not domain specific! | |
void ITTAPI | __itt_id_destroy (const __itt_domain *domain, __itt_id id) |
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. | |
__itt_string_handle *ITTAPI | __itt_string_handle_createA (const char *name) |
Create a string handle. Create and return handle value that can be associated with a string. Consecutive calls to __itt_string_handle_create with the same name return the same value. Because the set of string handles is expected to remain static during the application's execution time, there is no mechanism to destroy a string handle. Any string handle can be accessed by any thread in the process, regardless of which thread created the string handle. This call is thread-safe. | |
__itt_string_handle *ITTAPI | __itt_string_handle_createW (const wchar_t *name) |
void ITTAPI | __itt_task_group (const __itt_domain *domain, __itt_id id, __itt_id parentid, __itt_string_handle *name) |
Denotes a task_group instance. Successive calls to __itt_task_group with the same ID are ignored. | |
void ITTAPI | __itt_task_begin (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, __itt_string_handle *name) |
Begin a task instance. | |
void ITTAPI | __itt_task_begin_fn (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, void *fn) |
Begin a task instance. | |
void ITTAPI | __itt_task_end (const __itt_domain *domain) |
End the current task instance. | |
void ITTAPI | __itt_task_begin_overlapped (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, __itt_string_handle *name) |
Begin an overlapped task instance. | |
void ITTAPI | __itt_task_end_overlapped (const __itt_domain *domain, __itt_id taskid) |
End an overlapped task instance. | |
void ITTAPI | __itt_marker (const __itt_domain *domain, __itt_id id, __itt_string_handle *name, __itt_scope scope) |
Create a marker instance. | |
void ITTAPI | __itt_metadata_add (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data) |
Add metadata to an instance of a named entity. | |
void ITTAPI | __itt_metadata_str_addA (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const char *data, size_t length) |
Add string metadata to an instance of a named entity. | |
void ITTAPI | __itt_metadata_str_addW (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const wchar_t *data, size_t length) |
void ITTAPI | __itt_metadata_add_with_scope (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data) |
Add metadata to an instance of a named entity. | |
void ITTAPI | __itt_metadata_str_add_with_scopeA (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const char *data, size_t length) |
Add string metadata to an instance of a named entity. | |
void ITTAPI | __itt_metadata_str_add_with_scopeW (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const wchar_t *data, size_t length) |
void ITTAPI | __itt_relation_add_to_current (const __itt_domain *domain, __itt_relation relation, __itt_id tail) |
Add a relation to the current task instance. The current task instance is the head of the relation. | |
void ITTAPI | __itt_relation_add (const __itt_domain *domain, __itt_id head, __itt_relation relation, __itt_id tail) |
Add a relation between two instance identifiers. | |
__itt_clock_domain *ITTAPI | __itt_clock_domain_create (__itt_get_clock_info_fn fn, void *fn_data) |
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. | |
void ITTAPI | __itt_clock_domain_reset (void) |
Recalculate clock domains frequencies and clock base timestamps. | |
void ITTAPI | __itt_id_create_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id) |
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 Relations APIs. | |
void ITTAPI | __itt_id_destroy_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id) |
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. | |
void ITTAPI | __itt_task_begin_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id taskid, __itt_id parentid, __itt_string_handle *name) |
Begin a task instance. | |
void ITTAPI | __itt_task_begin_fn_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id taskid, __itt_id parentid, void *fn) |
Begin a task instance. | |
void ITTAPI | __itt_task_end_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp) |
End the current task instance. | |
void ITTAPI | __itt_counter_inc (__itt_counter id) |
opaque structure for counter identification | |
void ITTAPI | __itt_counter_inc_delta (__itt_counter id, unsigned long long value) |
Increment the unsigned 64 bits integer counter value with x. | |
void ITTAPI | __itt_counter_dec (__itt_counter id) |
Decrement the unsigned 64 bits integer counter value. | |
void ITTAPI | __itt_counter_dec_delta (__itt_counter id, unsigned long long value) |
Decrement the unsigned 64 bits integer counter value with x. | |
void ITTAPI | __itt_counter_inc_v3 (const __itt_domain *domain, __itt_string_handle *name) |
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. | |
void ITTAPI | __itt_counter_inc_delta_v3 (const __itt_domain *domain, __itt_string_handle *name, unsigned long long delta) |
Increment a counter by the value specified in delta. | |
void ITTAPI | __itt_counter_dec_v3 (const __itt_domain *domain, __itt_string_handle *name) |
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. | |
void ITTAPI | __itt_counter_dec_delta_v3 (const __itt_domain *domain, __itt_string_handle *name, unsigned long long delta) |
Decrement a counter by the value specified in delta. | |
void ITTAPI | __itt_counter_set_value (__itt_counter id, void *value_ptr) |
Set the counter value. | |
void ITTAPI | __itt_counter_set_value_ex (__itt_counter id, __itt_clock_domain *clock_domain, unsigned long long timestamp, void *value_ptr) |
Set the counter value. | |
__itt_counter ITTAPI | __itt_counter_create_typedA (const char *name, const char *domain, __itt_metadata_type type) |
Create a typed counter with given name/domain. | |
__itt_counter ITTAPI | __itt_counter_create_typedW (const wchar_t *name, const wchar_t *domain, __itt_metadata_type type) |
void ITTAPI | __itt_counter_destroy (__itt_counter id) |
Destroy the counter identified by the pointer previously returned by __itt_counter_create() or __itt_counter_create_typed() | |
void ITTAPI | __itt_marker_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id, __itt_string_handle *name, __itt_scope scope) |
Create a marker instance. | |
void ITTAPI | __itt_relation_add_to_current_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_relation relation, __itt_id tail) |
Add a relation to the current task instance. The current task instance is the head of the relation. | |
void ITTAPI | __itt_relation_add_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id head, __itt_relation relation, __itt_id tail) |
Add a relation between two instance identifiers. | |
__itt_track_group *ITTAPI | __itt_track_group_create (__itt_string_handle *name, __itt_track_group_type track_group_type) |
Create logical track group. | |
__itt_track *ITTAPI | __itt_track_create (__itt_track_group *track_group, __itt_string_handle *name, __itt_track_type track_type) |
Create logical track. | |
void ITTAPI | __itt_set_track (__itt_track *track) |
Set the logical track. | |
Variables | |
static const __itt_id | __itt_null = { 0, 0, 0 } |
Public User API functions and types.
Definition in file ittnotify.h.
typedef enum ___itt_track_type __itt_track_type |
Placeholder for custom track types. Currently, "normal" custom track is the only available track type.
enum ___itt_track_type |
Placeholder for custom track types. Currently, "normal" custom track is the only available track type.
Enumerator | |
---|---|
__itt_track_type_normal |
Definition at line 3326 of file ittnotify.h.
void ITTAPI __itt_relation_add_ex | ( | const __itt_domain * | domain, |
__itt_clock_domain * | clock_domain, | ||
unsigned long long | timestamp, | ||
__itt_id | head, | ||
__itt_relation | relation, | ||
__itt_id | tail | ||
) |
Add a relation between two instance identifiers.
[in] | domain | The domain controlling this call |
[in] | clock_domain | The clock domain controlling the execution of this call. |
[in] | timestamp | The user defined timestamp. |
[in] | head | The ID for the head of the relation |
[in] | relation | The kind of relation |
[in] | tail | The ID for the tail of the relation |
void ITTAPI __itt_relation_add_to_current_ex | ( | const __itt_domain * | domain, |
__itt_clock_domain * | clock_domain, | ||
unsigned long long | timestamp, | ||
__itt_relation | relation, | ||
__itt_id | tail | ||
) |
Add a relation to the current task instance. The current task instance is the head of the relation.
[in] | domain | The domain controlling this call |
[in] | clock_domain | The clock domain controlling the execution of this call. |
[in] | timestamp | The user defined timestamp. |
[in] | relation | The kind of relation |
[in] | tail | The ID for the tail of the relation |
void ITTAPI __itt_set_track | ( | __itt_track * | track | ) |
Set the logical track.
__itt_track *ITTAPI __itt_track_create | ( | __itt_track_group * | track_group, |
__itt_string_handle * | name, | ||
__itt_track_type | track_type | ||
) |
Create logical track.
__itt_track_group *ITTAPI __itt_track_group_create | ( | __itt_string_handle * | name, |
__itt_track_group_type | track_group_type | ||
) |
Create logical track group.