Ruby on rails 在Ruby或Rails中,是否有一个;持续时间“{fetch_some_data()}”;它可以打印;获取一些数据()完成,耗时2.1秒;?
在Rails中,已经有这样的功能了吗 这样我们就可以使用Ruby on rails 在Ruby或Rails中,是否有一个;持续时间“{fetch_some_data()}”;它可以打印;获取一些数据()完成,耗时2.1秒;?,ruby-on-rails,ruby,Ruby On Rails,Ruby,在Rails中,已经有这样的功能了吗 这样我们就可以使用 <%= duration_for { fetch_some_data() } %> 否则,用Ruby编写的好方法是什么?(更像是一种方法,因此我们不能使用UNIX的时间来完成这项工作) 将以毫秒为单位返回完成块所需的时间 一般来看这个类,它有几个有用的方法。在Rails中,它不会打印由获取一些数据()返回的结果,Benchmark.ms返回类似1213.238的值,表示1.213秒。。。但我想打印出来可能需要%.3f秒%[B
<%= duration_for { fetch_some_data() } %>
否则,用Ruby编写的好方法是什么?(更像是一种方法,因此我们不能使用UNIX的时间来完成这项工作)
将以毫秒为单位返回完成块所需的时间
一般来看这个类,它有几个有用的方法。在Rails中,它不会打印由获取一些数据()返回的结果,Benchmark.ms
返回类似1213.238的值,表示1.213秒。。。但我想打印出来可能需要%.3f秒%[Benchmark.ms{sleep 1.23456}/1000]
。详细信息是什么,以便它与视图和应用程序帮助程序配合良好?另外,在HAML中,do
是由HAML自动关闭的,因此它有点混乱,并且您无法轻松地将/1000]
部分放在其中。你能给出一个和{fetch\u some\u data()}的HAML=duration\u一样干净的解决方案吗?
查询和查看/部分渲染时间,以及到达请求的总时间,都列在Rails的日志中。我明白了,这很有帮助。如果它可以在屏幕上显示以便于调试,那会很方便,但是如果获取一些数据()
实际上正在执行HTTP请求呢?那会在日志里吗?
fetch_some_data() done, result is:
{"status" : 1, "data" : {"x" : 123} }
(took 2.1 seconds)
require 'benchmark'
Benchmark.ms do
fetch_some_data()
end