Runtime memory profiling and more for Delphi with the new TMS MemInsight

TMS Software Delphi  Components
We are very excited to announce a new product TMS MemInsight in the TMS family that results out of the collaboration with long-time Delphi expert Stefan Meisner and the TMS team. Stefan has a deep knowledge of Delphi technical internals to monitor memory allocation, getting call-stack information, exception handling, challenges with multi-threaded development and much more. Together with our focus on bringing easy to use component-based and as low-code as possible solutions and tools, we strongly believe that not only for TMS MemInsight but also future product ideas, we can continue to bring more value to you and come to the 1 + 1 = 11  winning formula.

TMS MemInsight v1.0

Whereas most memory allocation tracking tools are static, that is producing a report on application close or upon application crash, the difference with TMS MemInsight is that it is a dynamic memory allocation profiling tool that is used at run-time. This means that also while your application is running without issues, you can monitor where there are possibly performance issues due to consuming huge amounts of memory. 

With TMS MemInsight, you can continuously inspect memory allocation during run-time and get information on classes for which memory is allocated and get the class info, call stack, thread, property inspection, memory dump etc… of everything. With a statistics view, it is easy to see where the majority of allocated application memory is going to.  When you run the tool in debug mode with a map file, it is able to directly bring you to the position in the source code in the Delphi IDE of where memory was allocated.

TMS MemInsight also allows to provide additional information, most importantly the call stack, when exceptions occur. This allows you to understand better where exceptions come from and remedy these.
TMS Software Delphi  Components

Getting started

To get started with TMS MemInsight is as easy as dropping the TTMSMemInsightProfiler component on the form. With this component on the main form of the application, it is default configured to immediately show the profiler tool when you start your application. Or you can also choose to start the profiler only from code when you need it. You can control at component level or in code, what monitoring tools are active and live. There is not much more to do to get a new deep view on the internals of your application!

Discover it also for yourself in this video:

What’s next

We have plenty of ideas of possible future directions of not only the TMS MemInsight tool but also new complimentary tools. But of course, as always, it is your wishes and requests for specific functionality that steer our development priorities. We look forward to hear from you what enhancements can be done in TMS MemInsight to make your development even easier and what other development tools you further wish. Contact us by email or leave a comment here.