I would like to be able to delay the start of collecting of runtime data until a specific point in program lifecycle. This will allow me to skip the initialization code which is rather lengthy, and tends to obscure the items I want to examine. As a frame of refrence, with valgrind I was able to set points in my program to tell valgrind to start or stop collection. I could programatically delay the collection starting point until I hit specific parts of the program, or some other trigger.
Is this sort of thing possible with vtune? If so, can you point me at the documentation?
An alternative that would also work: use vtune to start the application under test, but tell vtune to delay the start of data collection for some specified period of time. For example, I might ask vtune to wait 60 seconds before starting to collect data. Then my program would have finished its initialization sequence, and I could start blasting it with the work I want to metric.
Yes! Search the product documentation for "User APIs" and see the __itt_pause and __itt_resume APIs.
There is also an option in the project properties to delay data collection, so both options are available to you.