Sha256: 3decf3fd0ff46c86c3e051aebc27a81a3d3e81947588741fa00c2507ac7bce90
Contents?: true
Size: 1.81 KB
Versions: 4
Compression:
Stored size: 1.81 KB
Contents
= bloat_check BloatCheck is yet another tool for debugging bloat and memory leaks in ruby projects. This one has the feature that you can wrap any bit of code with a "BloatCheck" and it will log elapsed time, and memory & object growth. Plus you can include it in any rails controller to log that same info per request. == Installation Gemfile: gem 'bloat_check' == Usage: Ruby Code Put this line anywhere: BloatCheck.log("some label") and it will write to the log the current time, process memory size, and 5 ruby objects classes with most instances, prefixed with "BLOAT[pid]" and your label. Wrap it around any existing code, such as BloatCheck.log("here's looking at you") do some_suspec_computation() and_more() end And it will write to the log the deltas: elapsed time, change in memory size, and 5 ruby object classes that had the largest increase in number of instances. == Usage: Rails Controllers In a rails controller, you can do class MyController < ApplicationController include BloatCheck::WrapRequests # etc. end and every request will log the deltas incurred during that request. == Disabling (e.g., when running tests) BloatCheck is slow (calls system 'ps', and runs through ObjectSpace#each_object), so you might want to disable it in your unit tests or integration tests. Do that via: BloatCheck.disable = true Put this, e.g. in your spec/spec_helper.rb file == Choosing the logger By default, BloatCheck logs to the Rails logger if Rails is defined, or to STDOUT otherwise. But you can specify your own logger using BloatCheck.logger = Logger.new(...) == Versions Has been tested on MRI 1.9.3 and Rails 3.2 == History == Copyright Released under the MIT License. See LICENSE for details.
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bloat_check-0.0.5 | README.rdoc |
bloat_check-0.0.4 | README.rdoc |
bloat_check-0.0.3 | README.rdoc |
bloat_check-0.0.2 | README.rdoc |