69 internal::threadName(name);
72 inline void threadName(
const std::string &name)
74 internal::threadName(name.c_str());
79 return internal::handle(name);
82 inline handle_t handle(
const std::string &name)
84 return internal::handle(name.c_str());
94 template <
typename Tag>
95 handle_t handle(
char const *name)
97 static auto h = internal::handle(name);
101 template <
typename Tag>
104 return handle<Tag>(name.c_str());
107 template <
typename Tag>
119 template <domain_t(*domain)()>
127 internal::taskBegin(domain(), taskHandle);
145 template <domain_t(*domain)()>
160 : _prefix(std::forward<std::string>(prefix))
162 internal::taskBegin(domain(), taskHandle);
178 internal::taskEnd(domain());
179 internal::taskBegin(domain(), taskHandle);
186 std::string taskName()
const
188 return _prefix +
"_" + std::to_string(_id);
194 std::string taskNameOrHandle(
const std::string & name)
const
196 return _prefix +
"_" + name;
202 handle_t taskNameOrHandle(handle_t handle)
const
215 internal::taskEnd(domain());
227 #define OV_ITT_DOMAIN(...) OV_PP_OVERLOAD(OV_ITT_DOMAIN, __VA_ARGS__)
233 #define OV_ITT_DOMAIN_1(domainName) \
234 inline openvino::itt::domain_t domainName() noexcept \
236 static auto d = openvino::itt::internal::domain(#domainName); \
240 #define OV_ITT_DOMAIN_2(domainName, domainDisplayName) \
241 inline openvino::itt::domain_t domainName() noexcept \
243 static auto d = openvino::itt::internal::domain(domainDisplayName); \
259 #define OV_ITT_SCOPED_TASK(...) OV_PP_OVERLOAD(OV_ITT_SCOPED_TASK, __VA_ARGS__)
265 #define OV_ITT_SCOPED_TASK_1(domain) \
266 openvino::itt::ScopedTask<domain> OV_PP_CAT(ittScopedTask, __LINE__) \
267 (openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)>(ITT_FUNCTION_NAME));
269 #define OV_ITT_SCOPED_TASK_2(domain, taskOrTaskName) \
270 openvino::itt::ScopedTask<domain> OV_PP_CAT(ittScopedTask, __LINE__) \
271 (openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)>(taskOrTaskName));
288 #define OV_ITT_TASK_CHAIN(...) OV_PP_OVERLOAD(OV_ITT_TASK_CHAIN, __VA_ARGS__)
294 #define OV_ITT_TASK_CHAIN_2(chainId, domain) \
295 openvino::itt::TaskChain<domain> chainId \
296 (openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)> \
297 (std::string(ITT_FUNCTION_NAME) + "_1"), \
300 #define OV_ITT_TASK_CHAIN_3(chainId, domain, prefix) \
301 openvino::itt::TaskChain<domain> chainId \
302 (openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)> \
303 (std::string(prefix) + "_1"), \
306 #define OV_ITT_TASK_CHAIN_4(chainId, domain, prefix, taskName) \
307 openvino::itt::TaskChain<domain> chainId \
308 (openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)> \
309 (std::string(prefix) + "_" + taskName), \
324 #define OV_ITT_TASK_NEXT(...) OV_PP_OVERLOAD(OV_ITT_TASK_NEXT, __VA_ARGS__)
330 #define OV_ITT_TASK_NEXT_1(chainId) \
331 chainId.next(openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)>(chainId.taskName()));
333 #define OV_ITT_TASK_NEXT_2(chainId, taskOrTaskName) \
334 chainId.next(openvino::itt::handle<struct OV_PP_CAT(Task, __LINE__)>(chainId.taskNameOrHandle(taskOrTaskName)));
346 #define OV_ITT_TASK_SKIP(chainId) chainId.skip();
Used to annotate a sequence of sections of code which would be named at runtime.
Definition: itt.hpp:147
TaskChain(handle_t taskHandle, std::string &&prefix) noexcept
Construct TaskChain with defined annotation handle.
Definition: itt.hpp:159
~TaskChain() noexcept
The TaskChain destructor closes or ends the task scope.
Definition: itt.hpp:168
void next(handle_t taskHandle)
Ends the previous task from the chain and starts a new one with the given annotation handle.
Definition: itt.hpp:173
Defines a macro to get the name of a function.
handle_t handle(char const *name)
Create annotation handle with a given name.
Definition: itt.hpp:77
struct openvino::itt::handle_ * handle_t
Annotation handle for section of code which would be named at runtime.
void threadName(const char *name)
Set thread name using a char string.
Definition: itt.hpp:67
Set of macro used by openvino.
Used to annotate section of code which would be named at runtime.
Definition: itt.hpp:121
ScopedTask(handle_t taskHandle) noexcept
Construct ScopedTask with defined annotation handle.
Definition: itt.hpp:125
~ScopedTask() noexcept
The ScopedTask destructor closes or ends the task scope.
Definition: itt.hpp:133