Skip to content

Instantly share code, notes, and snippets.

@zliang-min
Forked from quake/memory_bloat.rb
Created January 25, 2011 08:21
Show Gist options
  • Save zliang-min/794654 to your computer and use it in GitHub Desktop.
Save zliang-min/794654 to your computer and use it in GitHub Desktop.
一个检查内存泄漏的rack中间件
module Rack
class MemoryBloat
def initialize(app, logger)
@app = app
@logger = logger
end
def call(env)
memory_usage_before = memory_usage
result = @app.call(env)
memory_usage_after = memory_usage
@logger.info "MemoryBloat: #{memory_usage_after - memory_usage_before} URL: #{Rack::Request.new(env).url}"
result
end
private
def memory_usage
`ps -o rss= -p #{$$}`.to_i
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment