MemoryTracker
MemoryTracker collects and analyzes memory usage data for each controller action of a Rails application. It’s implemented as a Rails engine with a middleware that captures stats before and after each query.
How?
It uses GC.stats (Ruby garbage collector) to find how many objects were allocated, how many heaps were created and how many times the garbage collector ran.
Features
-
Collect stats on each controller action memory consumption.
-
Write a log file with GC.stat data.
-
The engine includes a couple of web pages that shows a summary of memory utilization per controller action.
Enable MemoryTracker in a Rails application
In config/routes.rb
mount MemoryTracker::Engine, at: "/memory_tracker"
Contributing to memory_tracker
-
Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.
-
Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.
-
Fork the project.
-
Start a feature/bugfix branch.
-
Commit and push until you are happy with your contribution.
-
Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright
Copyright © 2013 Philippe Le Rohellec. See LICENSE.txt for further details.