Named Entities and Instances Overview
Named entities (task_groups, tasks, and markers) communicate information about the program to the analysis tools. A named entity often refers to a section of program code, or to some set of logical concepts that you want to group together.
Named entities relate to your static view of the program. When the program actually executes, many instances of a given named entity may be created.
Instances of named entities may have instance identifiers (IDs). Some API calls use IDs to assign relationships among different instances of named entities. Other API calls associate data with instances of named entities.
Some named entities must always have instance IDs. In particular, task_groups always have IDs. Task and markers need IDs only if the ID is needed in another API call (such as adding a relation or metadata).
The lifetime of instance IDs is distinct from the lifetime of entity instances. This enables you to specify various relationships independently of the actual execution times of the instances involved in the relationships.
Task Groups Overview