Data Structures | Macros | Typedefs | Functions
itt.hpp File Reference

Defines API to trace using Intel ITT. More...

#include <openvino/function_name.hpp>
#include <openvino/macro_overload.hpp>
#include <string>
#include <utility>

Go to the source code of this file.

Data Structures

struct  openvino::itt::domain_
 
struct  openvino::itt::handle_
 
class  openvino::itt::ScopedTask< domain >
 Used to annotate section of code which would be named at runtime. More...
 
class  openvino::itt::TaskChain< domain >
 Used to annotate a sequence of sections of code which would be named at runtime. More...
 

Macros

#define OV_ITT_DOMAIN(...)   OV_ITT_MACRO_OVERLOAD(OV_ITT_DOMAIN, __VA_ARGS__)
 Declare domain with a given name. More...
 
#define OV_ITT_SCOPED_TASK(...)   OV_ITT_MACRO_OVERLOAD(OV_ITT_SCOPED_TASK, __VA_ARGS__)
 Annotate section of code till scope exit to be profiled using known handle or taskName as section id. More...
 
#define OV_ITT_TASK_CHAIN(...)   OV_ITT_MACRO_OVERLOAD(OV_ITT_TASK_CHAIN, __VA_ARGS__)
 Begins the sequrence of an annotated sections of code using prefix and taskName as section id. More...
 
#define OV_ITT_TASK_NEXT(...)   OV_ITT_MACRO_OVERLOAD(OV_ITT_TASK_NEXT, __VA_ARGS__)
 Inserts new annotated section of code to tasks chain using taskName as section id. More...
 
#define OV_ITT_TASK_SKIP(chainId)   chainId.skip();
 Skips the remaining task scope. More...
 

Typedefs

typedef struct openvino::itt::domain_openvino::itt::domain_t
 A domain type which enables tagging trace data for different modules or libraries in a program.
 
typedef struct openvino::itt::handle_openvino::itt::handle_t
 Annotation handle for section of code which would be named at runtime.
 

Functions

void openvino::itt::threadName (const char *name)
 Set thread name using a char string. More...
 
void openvino::itt::threadName (const std::string &name)
 
handle_t openvino::itt::handle (char const *name)
 Create annotation handle with a given name. More...
 
handle_t openvino::itt::handle (const std::string &name)
 
template<typename Tag >
handle_t openvino::itt::handle (handle_t h)
 

Detailed Description

Defines API to trace using Intel ITT.

Macro Definition Documentation

◆ OV_ITT_DOMAIN

#define OV_ITT_DOMAIN (   ...)    OV_ITT_MACRO_OVERLOAD(OV_ITT_DOMAIN, __VA_ARGS__)

Declare domain with a given name.

Parameters
domainName[in] Known at compile time name of module or library (the domain name).
domainDisplayName[in] Domain name used as the ITT counter name and displayed in Intel VTune. Parameter is optional.

◆ OV_ITT_SCOPED_TASK

#define OV_ITT_SCOPED_TASK (   ...)    OV_ITT_MACRO_OVERLOAD(OV_ITT_SCOPED_TASK, __VA_ARGS__)

Annotate section of code till scope exit to be profiled using known handle or taskName as section id.

In case if handle or taskName absent, the current function name is used.

Parameters
domainName[in] Known at compile time name of module or library (the domain name).
handleOrTaskName[in] The annotation name or handle for section of code. Parameter is optional.

◆ OV_ITT_TASK_CHAIN

#define OV_ITT_TASK_CHAIN (   ...)    OV_ITT_MACRO_OVERLOAD(OV_ITT_TASK_CHAIN, __VA_ARGS__)

Begins the sequrence of an annotated sections of code using prefix and taskName as section id.

In case if prefix absent, the current function name is used, if taskName absent, the first chain index is used, i.e 1.

Parameters
chainId[in] The tasks chain identifier.
domainName[in] Known at compile time name of module or library (the domain name).
prefix[in] The task chain name prefix. The task name starts with this prefix. Parameter is optional.
taskName[in] The annotation name for section of code. Parameter is optional.

◆ OV_ITT_TASK_NEXT

#define OV_ITT_TASK_NEXT (   ...)    OV_ITT_MACRO_OVERLOAD(OV_ITT_TASK_NEXT, __VA_ARGS__)

Inserts new annotated section of code to tasks chain using taskName as section id.

If taskName is missing, the current chain index is used.

Parameters
chainId[in] The tasks chain identifier.
taskOrTaskName[in] The annotation name or handle for section of code. Parameter is optional.

◆ OV_ITT_TASK_SKIP

#define OV_ITT_TASK_SKIP (   chainId)    chainId.skip();

Skips the remaining task scope.

Parameters
chainId[in] The tasks chain identifier.

Function Documentation

◆ handle()

handle_t openvino::itt::handle ( char const *  name)
inline

Create annotation handle with a given name.

If template function is instantiated with a tag, the handle is created as a singleton.

Parameters
name[in] The annotation name

◆ threadName()

void openvino::itt::threadName ( const char *  name)
inline

Set thread name using a char string.

Parameters
name[in] The thread name