Oso Memory Profiler - Features

The following is a list of some of the features you can find in the Oso Memory Profiler.

For a more indepth look at the primary components of the user interface, please browse the pages in the table of contents on the right.

  • C-based SDK

    Build the Oso Memory Profiler SDK into your application's memory manager and begin profiling within minutes. The SDK also comes with an implementation of c++ new and delete operators for an even easier experience. Once the SDK is integrated simply add more hooks as and when you need them to gain deeper insights into your application's memory usage patterns.

  • Multi-Platform Profiling

    While the Oso Memory Profiler itself is currently only available on Windows, the Oso Memory Profiler SDK supports profiling your applications on Windows, MacOS, iOS/tvOS/ipadOS, Android (native; clang), and Linux (clang).

  • Realtime Profiling

    When you initialise the Oso Memory Profiler SDK, you can choose to write profile data to disk, or stream it directly over TCP to the Oso Memory Profiler.

  • Low Overhead

    We do everything we can to ensure profiling doesn't negatively impact your application's performance too much. Obviously profiling isn't free, but we aim to make it as cheap as possible.

  • Highly Extendible Profiles

    Define your own memory block types, and add custom attribute data to all profile events. With the Oso Memory Profiler gone are the days when a memory profile contains nothing more than a memory address, a block size, and a callstack for each event.

  • Message Events

    In addition to all the above, you can also insert simple text messages into the profile stream. These messages give your profiles additional context outside of that offered by custom attributes. In fact, message events themselves can contain custom attribute data if required.

  • Easily Filter Events

    Create filtered views that allow you to concentrate directly on the parts of the profile data that are important to you. You can also show or hide whole classes of event directly from the toolbar.

  • Identify Problems Sooner

    With the Oso Memory Profiler, you can write customised warning and error predicate functions that can use any available event attributes to automatically highlight events that don't conform to your expectations. Events that don't pass inspection will be immediately visible within the profiles.

  • Visualise Memory Fragmentation

    With the Oso Memory Profiler's unique memory maps, you can quickly and easily see how fragmented your application's memory is at any point in the profile.

  • Customisable Source Viewers

    Jump right into the source code from a single click on a stack frame in the profiler. The Oso Memory Profiler also comes with a Visual Studio utility that finds the right instance of Visual Studio that contains the application being profiled.

  • Collaborative Profiling

    With a few clicks, you can share (filtered) profile data with your colleagues directly from within the Oso Memory Profiler.

  • Source Path Remapping

    Viewing a profile from a colleague? If the source paths don't match exactly with your local setup, you can just have the Oso Memory Profiler remap the paths to match your setup.