如何获取memprof(在rails中)跟踪所有之前的过滤器,然后在转储输出之前执行操作?

Rag*_*ghu 7 ruby memory-leaks ruby-on-rails

基于Memprof gem文档,为了让Memprof :: Middleware使用rails,我们需要在Memprof.track中包装每个请求.

问题是:我如何以这样的方式执行此操作:memprof跟踪所有之前的过滤器,然后在转储输出之前执行操作?

Pat*_*ann 0

在不了解 Memprof 的情况下,也不了解您想要实现的目标时,这是我的最佳猜测。

在你的 application_controller.rb 中:

before_filter :do_memprof_stuff

def do_memprof_stuff
  # make it really sweet
end
Run Code Online (Sandbox Code Playgroud)

这将在调用其他控制器中定义的任何 before 过滤器之前执行 memprof 的操作。显然,你可以很容易地将其转移到引擎中,这样你就可以将它包含在任何项目中,但我将把它作为练习留给OP,因为我不确定我是否回答了他的问题:)