Tag tree

Memory tag tree

The memory tag tree is a hierarchical overview of the memory usage. By default there is only a single node in the tree, the root node. Each node of the tree represents a scope in source code and is added manually using MTuner SDK.

Example of adding a tag:


void SomeClass::SomeMethod
{
    RMEM_TAG("Second half")
    // Code goes here
}

Using memory tags it is easy to create high level overview of subsystems in the application. For example, there can be a memory tag to mark all memory operations that are related to IO operations. Memory tags require careful placement in order to generate meaningful results but this can be achieved incrementally (if it’s not straightforward for your application), first by placing them approximately and then iterating using MTuner and fixing their location.

Tags will automatically be displayed as a tree, with their relationship depending on the code flow. A complete example, including tag registration, is provided in MTuner SDK.

Currently selected tag can serve as a filter to narrow down a list of memory operations. For more information about filtering please visit the filtering page.