显示的Rails鉴于响应时间
问题描述:
我想设置我的Rails应用程序的定制Pingdom的监测,并想手艺,看起来像这样的XML响应:显示的Rails鉴于响应时间
<?xml version="1.0" encoding="UTF-8"?>
<pingdom_http_custom_check>
<status>OK</status>
<response_time>210.22</response_time>
</pingdom_http_custom_check>
凡response_time值是时间用Rails来呈现XML响应。
我发现了一些resources与杂种这样做,但我使用Apache乘客。
我有作为像这样的屈 - 金属端点实施的解决方案:
class Pingdom < Sinatra::Base
set :views, "#{RAILS_ROOT}/app/views/metal"
get '/pingdom' do
@start_time = Time.now
builder :pingdom
end
end
,然后我有一个助洗剂视图:
xml.instruct!
xml.pingdom_http_custom_check do |pingdom_http_custom_check|
pingdom_http_custom_check.status("OK")
pingdom_http_custom_check.response_time(([email protected]_time)*1000)
end
(注意response_time以毫秒为单位)。
这个实现足以检查应用程序是否已启动,但事实上它是一个金属端点,意味着它实际上并没有触及主要的Rails应用程序,所以对于当前的响应时间并不是很好的度量我的应用程序。
有没有人有更好的方法什么好建议?
干杯,Arfon
答
响应时间表明什么?你有没有考虑过使用类似侦察兵或新遗物的东西?
答
这railscast显示实现如Rack中间件类似的方式,propably should'nt是很难修改,以满足您的需求。
你究竟想要什么时间?总响应时间需要从客户端进行衡量。如何确定当您处于响应中间时需要花费多长时间?也许你应该在Apache级别拦截。 – MattMcKnight 2009-12-17 20:45:51
我想我在寻找两件事情:当前的措施渲染时间为应用程序和应用程序还是否启动。也许New Relic会更适合前者。 – arfon 2009-12-17 21:46:45