Oso Memory Profiler - Memory Graphs

The top segment of the Oso Memory Profiler window contains the memory graphs. These graphs give you a top-level overview of your application's memory usage.

There are two primary types of graph:

Memory Graphs

Memory graphs show you how much memory is being used by your application at any given point in the profile. The vertical axis extends from 0 to the maximum memory used displayed in the top left corner of the graph.

Change Graphs

Change graphs show how much memory your application has allocated and freed for any given point in the profile. This type of graph makes it very easy to spot spikes in your application's memory usage patterns. The vertical axis in this graph extends between the negative and positive maximum displayed in the top left corner.

In addition to the two main types of graph, you can also modify the horizontal axis to represent either time or memory events. The former obviously showing you how memory was consumed during the lifetime of your application, while the latter gives you a better navigation space by compressing long periods of inactivity.

All of the available graphs break down memory usage by block type, to further make it easier to distinguish different parts of your application.

The graphs can and should be used as an initial navigation tool into the event streams and the memory maps. The shaded area will show you which part of the profile is currently being displayed in the event streams view, or, in the case of the memory map view, which moment in time is being studied.