Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对于RubyonRails,如何在页面本身上显示产品管理以查看呈现页面所需的时间?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 对于RubyonRails,如何在页面本身上显示产品管理以查看呈现页面所需的时间?

Ruby on rails 对于RubyonRails,如何在页面本身上显示产品管理以查看呈现页面所需的时间?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我从服务器日志(或控制台输出)中知道,可以看到显示页面的时间。但是,让产品经理实时查看渲染页面所需的时间怎么样?(也是为了便于开发人员查看) 在控制器动作的一开始,我就尝试使用 @time_start = Time.now 在查看应用程序布局的最后,显示 Time.now - @time_start 事实上,这有点接近。。。只有3%到5%的折扣。但是有没有一种方法可以显示尽可能接近的内容,或者甚至以某种方式显示服务器日志显示的内容 例如,Rails是否有一个@time\u start作为开始

我从服务器日志(或控制台输出)中知道,可以看到显示页面的时间。但是,让产品经理实时查看渲染页面所需的时间怎么样?(也是为了便于开发人员查看)

在控制器动作的一开始,我就尝试使用

@time_start = Time.now
在查看应用程序布局的最后,显示

Time.now - @time_start
事实上,这有点接近。。。只有3%到5%的折扣。但是有没有一种方法可以显示尽可能接近的内容,或者甚至以某种方式显示服务器日志显示的内容


例如,Rails是否有一个@time\u start作为开始,甚至在它进行任何路由之前?可能是服务器收到请求时的时间戳?

首先,我建议查看一个企业Rails基准测试解决方案,例如(在开发模式下是免费的!)

但是,如果您想自己做,我建议您使用中间件并在那里计时

这应该让你开始:


New relic有一个开发者模式,可以让您了解呈现页面所需的时间


不幸的是,这不可能在一次通过定义中实现!您永远无法渲染页面到页面本身所花费的全部时间,因为该页面显然仍在渲染中

如果你想做到超精确,你可能需要缓存整个渲染时间(在会话中,也许?),然后用JS获取它。或者你可以在下一页显示,但这可能会让人困惑

如果您希望尽可能接近,但不想为上面的内容而烦恼,那么我建议将
行放在布局的末尾-像帮助器这样的东西意味着布局实际上是在页面模板之后呈现的

希望这有帮助