LLVM OpenMP 22.0.0git
ittnotify.h File Reference

Public User API functions and types. More...

Go to the source code of this file.

Macros

#define __itt_pt_region_create   __itt_pt_region_createA
#define __itt_thread_set_name   __itt_thread_set_nameA
#define __itt_thread_set_name_ptr   __itt_thread_set_nameA_ptr
#define __itt_domain_create   __itt_domain_createA
#define __itt_domain_create_ptr   __itt_domain_createA_ptr
#define __itt_string_handle_create   __itt_string_handle_createA
#define __itt_string_handle_create_ptr   __itt_string_handle_createA_ptr
#define __itt_timestamp_none   ((__itt_timestamp)-1LL)
#define __itt_metadata_str_add   __itt_metadata_str_addA
#define __itt_metadata_str_add_ptr   __itt_metadata_str_addA_ptr
#define __itt_metadata_str_add_with_scope   __itt_metadata_str_add_with_scopeA
#define __itt_metadata_str_add_with_scope_ptr    __itt_metadata_str_add_with_scopeA_ptr
#define __itt_counter_inc   ITTNOTIFY_VOID(counter_inc)
#define __itt_counter_inc_ptr   ITTNOTIFY_NAME(counter_inc)
#define __itt_counter_inc_delta   ITTNOTIFY_VOID(counter_inc_delta)
#define __itt_counter_inc_delta_ptr   ITTNOTIFY_NAME(counter_inc_delta)
#define __itt_counter_dec   ITTNOTIFY_VOID(counter_dec)
#define __itt_counter_dec_ptr   ITTNOTIFY_NAME(counter_dec)
#define __itt_counter_dec_delta   ITTNOTIFY_VOID(counter_dec_delta)
#define __itt_counter_dec_delta_ptr   ITTNOTIFY_NAME(counter_dec_delta)
#define __itt_counter_inc_v3(d, x)
#define __itt_counter_inc_v3_ptr   ITTNOTIFY_NAME(counter_inc_v3)
#define __itt_counter_inc_delta_v3(d, x, y)
#define __itt_counter_inc_delta_v3_ptr   ITTNOTIFY_NAME(counter_inc_delta_v3)
#define __itt_counter_dec_v3(d, x)
#define __itt_counter_dec_v3_ptr   ITTNOTIFY_NAME(counter_dec_v3)
#define __itt_counter_dec_delta_v3(d, x, y)
#define __itt_counter_dec_delta_v3_ptr   ITTNOTIFY_NAME(counter_dec_delta_v3)
#define __itt_counter_set_value   ITTNOTIFY_VOID(counter_set_value)
#define __itt_counter_set_value_ptr   ITTNOTIFY_NAME(counter_set_value)
#define __itt_counter_create_typed   __itt_counter_create_typedA
#define __itt_counter_create_typed_ptr   __itt_counter_create_typedA_ptr
#define __itt_counter_create_typedA   ITTNOTIFY_DATA(counter_create_typedA)
#define __itt_counter_create_typedA_ptr   ITTNOTIFY_NAME(counter_create_typedA)
#define __itt_counter_create_typedW   ITTNOTIFY_DATA(counter_create_typedW)
#define __itt_counter_create_typedW_ptr   ITTNOTIFY_NAME(counter_create_typedW)
#define __itt_counter_destroy   ITTNOTIFY_VOID(counter_destroy)
#define __itt_counter_destroy_ptr   ITTNOTIFY_NAME(counter_destroy)

Typedefs

typedef unsigned char __itt_pt_region
typedef enum ___itt_track_type __itt_track_type
 Placeholder for custom track types.

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. More...
enum  ___itt_track_type { __itt_track_type_normal = 0 }
 Placeholder for custom track types. 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.
__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.
__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.
void ITTAPI __itt_id_destroy (const __itt_domain *domain, __itt_id id)
 Destroy an instance of identifier.
__itt_string_handle *ITTAPI __itt_string_handle_createA (const char *name)
 Create a string handle.
__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.
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.
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.
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.
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.
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.
 ITT_STUBV (ITTAPI, void, counter_inc_delta,(__itt_counter id, unsigned long long value)) 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.
 ITT_STUBV (ITTAPI, void, counter_dec_delta,(__itt_counter id, unsigned long long value)) void ITTAPI __itt_counter_inc_v3(const __itt_domain *domain
 Increment a counter by one.
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.
 ITT_STUBV (ITTAPI, void, counter_inc_v3,(const __itt_domain *domain, __itt_string_handle *name)) ITT_STUBV(ITTAPI
void ITTAPI __itt_counter_dec_v3 (const __itt_domain *domain, __itt_string_handle *name)
 Decrement a counter by one.
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.
 ITT_STUBV (ITTAPI, void, counter_dec_v3,(const __itt_domain *domain, __itt_string_handle *name)) ITT_STUBV(ITTAPI
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)
 ITT_STUB (ITTAPI, __itt_counter, counter_create_typedA,(const char *name, const char *domain, __itt_metadata_type type)) ITT_STUB(ITTAPI
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.
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}
__itt_string_handle * name
 void
 counter_inc_delta_v3
const __itt_domain * domain
 counter_dec_delta_v3
 __itt_counter
 counter_create_typedW

Detailed Description

Public User API functions and types.

Definition in file ittnotify.h.

Macro Definition Documentation

◆ __itt_counter_dec_delta

#define __itt_counter_dec_delta   ITTNOTIFY_VOID(counter_dec_delta)

◆ __itt_counter_dec_delta_ptr

#define __itt_counter_dec_delta_ptr   ITTNOTIFY_NAME(counter_dec_delta)

◆ __itt_counter_inc_delta

#define __itt_counter_inc_delta   ITTNOTIFY_VOID(counter_inc_delta)

◆ __itt_counter_inc_delta_ptr

#define __itt_counter_inc_delta_ptr   ITTNOTIFY_NAME(counter_inc_delta)

Typedef Documentation

◆ __itt_track_type

Placeholder for custom track types.

Currently, "normal" custom track is the only available track type.

Enumeration Type Documentation

◆ ___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 3657 of file ittnotify.h.

Function Documentation

◆ __itt_relation_add_ex()

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.

Parameters
[in]domainThe domain controlling this call
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]headThe ID for the head of the relation
[in]relationThe kind of relation
[in]tailThe ID for the tail of the relation

References clock_domain, domain, head, relation, relation_add_to_current_ex, tail, and timestamp.

◆ __itt_relation_add_to_current_ex()

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.

Parameters
[in]domainThe domain controlling this call
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]relationThe kind of relation
[in]tailThe ID for the tail of the relation

References clock_domain, domain, relation, tail, and timestamp.

◆ __itt_set_track()

void ITTAPI __itt_set_track ( __itt_track * track)

Set the logical track.

References event, event_createW, event_end, name, namelen, set_track, and track.

◆ __itt_track_create()

__itt_track *ITTAPI __itt_track_create ( __itt_track_group * track_group,
__itt_string_handle * name,
__itt_track_type track_type )

Create logical track.

References name.

◆ __itt_track_group_create()

__itt_track_group *ITTAPI __itt_track_group_create ( __itt_string_handle * name,
__itt_track_group_type track_group_type )

Create logical track group.

References name, track_group_create, and track_group_type.