Oso Memory Profiler

2.3 - Profile events

While memory profiles can contain a lot of information, nearly all of that ancilliary data goes to supporting profile events. Profile events are records of actual actions performed by your application with regards to allocating and freeing memory, and messages that you can insert to help give context to the events around them.

This page will discuss each profile event type in turn:

Allocation Events When your application allocates a piece of memory from the heap - or any other resource that you want to profile - it should generate an allocation event by calling OsoMP_Allocate.
Free Events Free events are the companions of allocations. When a previously allocated piece of memory, or resource is freed, a free event should be generated by calling OsoMP_Free.
Messages As mentioned at the top of this page, messages can be inserted (programmatically) anywhere within a memory profile to help provide additional context as to what an application is doing at any given time.

Messages can be inserted into a profile through a call to OsoMP_Message.
The visual aspects of allocation and free events are defined by the type of block passed to their respective functions.

Message events, on the other hand, have their own unique colours passed directly to the OsoMP_Message function.

All events can also have application defined attributes attached, which can be used to evaluate custom warning and error expressions.