Dynamic Telemetry is a PROPOSAL : please provide feedback! :-)
Dynamic Telemetry is not an implementation, it's a request for collaboration, that will lead to an shared understanding, and hopefully one or more implementations.
Your feedback and suggestions on this document are highly encouraged!
Please:
-
Join us, by providing comments or feedback, in our Discussions page
-
Submit a PR with changes to this file ( docs/Applications.FlightRecorder.MemoryLeak.document.md)
Direct Sharing URL
Interesting Application : FlightRecorder into Memory Leak
Scenario Summary
Even in managed languages, determining why memory is being consumed can be a complicated matter. We've all encountered a linked list that holds a pointer to memory and doesn't shrink as it should. While some may argue whether this constitutes a memory leak, the system inevitably starts to slow down and thrash as memory pressure exceeds the hardware's capabilities.
A powerful use of a Flight Recorder is to track the insertion or deletion from such a list, or the add reference and release, or malloc() and free() operations in unmanaged languages.
This is achieved either through standard logging or by inserting a dynamic probe on the malloc() and free() calls.
By using a probe that indicates the amount of memory load on a machine, coupled with an action to collect this type of memory Flight Recorder, a developer can obtain a high-fidelity glimpse into the machine's memory usage over a long duration without negatively impacting performance.
Best of all, once the project is complete and the memory leak is understood, dynamic telemetry can disable all of this logging, including the flight recorder, allowing the machines to operate at high speed.