Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this presentation from RubyKaigi 2022, Ivo Anjo and KJ Tsanaktsidis discuss strategies for identifying and resolving memory leaks in Ruby applications through heap sampling. They provide a comprehensive overview of heap profiling, covering various tools within the Ruby ecosystem and their limitations. The speakers first introduce key concepts of heap profiling, explaining how it captures snapshots of an application's memory to help diagnose memory-related issues, particularly in production environments where such issues are most prevalent. The session highlights the prevalence of memory leaks, illustrated by common scenarios developers face, such as increased memory usage after deployments. The speakers note that existing Ruby profiling tools, such as Memory Profiler, Heap Profiler, and Derailed Benchmarks, offer valuable insights but face challenges in production use due to overhead, security risks, and operational complexity. To address these challenges, the presenters introduce their innovations in the Ruby Mem Profiler gem, which utilizes the TracePoint API to minimize reliance on ObjectSpace, thus reducing memory usage and improving performance during profiling. They discuss the process for capturing object allocations and suggest improvements through biosampling techniques, which help manage overhead while still providing relevant profiling data. The talk also introduces the Back Tracy gem, designed to enhance backtrace information for Ruby applications, allowing developers to analyze memory issues more effectively by providing contextual data about object states during application execution. The session concludes with future work on these tools, including broader tracking capabilities and vocalizing the need for improved profiling practices within the Ruby community. Overall, the primary takeaways of the talk include: - Understanding heap profiling as a critical tool for diagnosing memory leaks in Ruby applications. - Awareness of the limitations and challenges of existing profiling solutions. - Introduction of the Ruby Mem Profiler and Back Tracy gems as advanced tools for efficient memory analysis. - Encouragement for community feedback to refine these tools and foster better memory profiling practices.
Suggest modifications
Cancel