如何在 Ruby 中分析 `require` 语句?

Posted

技术标签:

【中文标题】如何在 Ruby 中分析 `require` 语句?【英文标题】:How can I profile `require` statements in Ruby? 【发布时间】:2020-06-30 02:37:30 【问题描述】:

我有兴趣查看我的 Ruby 代码中的每个 require 语句需要多长时间(以秒为单位)加载。如何临时覆盖该方法并打印出一些慢速加载的日志信息?

【问题讨论】:

【参考方案1】:

您可以像这样覆盖Kernel.require

module Kernel
  # make an alias of the original require
  alias_method :original_require, :require

  # rewrite require
  def require name
    start = Time.now

    # code to time
    ret = original_require name

    finish = Time.now
    diff = finish - start

    # TODO: This should really add up all of
    # the require calls for a certain module
    if diff > 0.1
      puts "#diff #name"
    end
    ret
  end
end

【讨论】:

以上是关于如何在 Ruby 中分析 `require` 语句?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby on Rails 中分析请求?

在 Ruby on Rails 应用程序/内存泄漏中分析延迟作业任务

Nodejs中分析web前端性能(window.performance)

在 python 中分析自我和参数?

如何在 PhantomJS 中分析 javascript

如何在生产环境中分析请求?