Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)

ITT API and User Tasks



while writing a simple test to figure out how to add user tasks and such I stumbled upon the following questions:

1. Which ITT functions are actually supported by VTune? Things I have found to work are tasks, domains, ids, string handles. Things that do not work for me are e.g. __itt_task_group, __itt_marker, __itt_metadata_add, __itt_relation_add . I digged a bit through the .trace files generated by VTune and all the calls I make to functions like _itt_task_group actually end up in the collected data, but they do not appear anywhere in the GUI. Also stuff like feeding the parent id to a task does not seem to make any difference. Relevant links that I found: 

  - Task Groups:

  - Markers:  

  - Tracks and track groups:

2. Is there really no way to add any data to a task besides putting all the information into the task name? Is there a way to group tasks just like task groups promise to do?

3. What's the difference between events (e.g. see ) and tasks (e.g. )? They seem to be pretty much the same.

4. Is there a way to export the custom data collected with VTune so that I can analyze it with some script later on? Of course I can just export myself, but it would be nice to have a coherent system.

Thank you,


0 Kudos
2 Replies

Hello Matthias,

Event API helps you to observe the event occurring/finishing in your application, and know when and where. The developer can select the region then use "Zoom-in and Filter by selection" to focus new area with performance data. User Task API  is more powerful to establish a logic group to mark any executing in your program, AND mark any region if you pay attention in sub-tasks.

I wrote two articles (you mentioned) about using Event API & Task API, several years ago. Now, I write a new example (attachment, for VS2013 .sln) for using these APIs, you can compare them in VTune Amplifier's result.

Region is marked in timeline panel of bottom-up report


Platform view display all customized info of Event/Task (your annotation code)


Regards, Peter

0 Kudos

Matthias, you are welcome! Thanks for your using ITT Task API in your project.

0 Kudos