Table of Contents
1 - Introduction2 - Profiling your application
3 - User interface reference
1 - Menus
2 - Toolbar
3 - Session tabs
4 - Overview panes
5 - Event views
6 - Information panes
7 - Dialog windows
4 - SDK Reference2 - Toolbar
3 - Session tabs
4 - Overview panes
5 - Event views
6 - Information panes
7 - Dialog windows
Contact Information
Sales
Sales and licensing related questions should be sent to our sales team at:Feedback
If you have feedback regarding this website or any of our products, please use the following email address:Support
Questions related to problems you have encountered with either this website or any of our products should be directed to our support team at:Enquiries
Any other questions, or general enquiries should be sent to the following email address:3.4.1 - Blocks
The first tab in the left side of the Oso Memory Profiler window contains the block lists.This view groups all memory allocations in the profile in two different ways:
Block Type
Firstly, memory blocks are grouped by type. The image on the right shows two such groupings.The Oso Memory Profiler supports two block types by default:
- Memory blocksTechnically everything is a memory block, but in this instance, these are any memory block that doesn't have a user defined type.
- Memory bucketsA memory bucket is essentially a single memory block from which actual memory blocks can be allocated by a memory manager that provide pooled memory management.
In addition to the default types, an application can also register its own custom types. Typically you would use these types to distinguish how memory is being used, E.g., you might want to see memory allocated for image or audio data separately to other memory allocations. Or you might want to distinguish memory allocated by a particular third party library.
Registering custom block types through the Oso Memory Profiler's SDK and using those types when allocating and freeing memory would allow them to be grouped here in the Oso Memory Profiler block lists.
Block Header
The second level of grouping (essentially each row within the lists as seen in the image above) is the block header.For standard block types the header is merely the size of the memory block in question, but custom block types are free to specify custom format strings that are more meaningful for the memory in question.
For example, image data blocks might construct a header string that represents the image dimensions and/or pixel depth. Audio data might be grouped according to frequency and bitrate.
Whatever the resulting header string is, the Oso Memory Profiler will group blocks with identical headers together in the block lists.