如何在Rails中捕获API响应的大小?

时间:2013-08-31 14:53:27

标签: ruby-on-rails api rack rabl

我想捕获我的Rails 3应用程序API的响应大小。

这个想法是,如果客户端应用程序请求资源,则可以捕获并存储JSON响应的完整大小(以KB / MB为单位,在RABL之后呈现它),以便我可以看到多少客户端应用程序稍后使用的数据。因为它们非常大,所以这些API JSON响应中的一些被缓存(在不久的将来在本地,在Redis上),因此解决方案需要能够捕获缓存响应的大小,而不仅仅是渲染的响应。

在Rails中实现此目的的最佳方法和地点是什么?在机架级别?在控制器中(控制器使用ActionController :: Metal)?显然,这对响应时间的开销越小越好。

1 个答案:

答案 0 :(得分:0)

您可以在Rack中启用ContentLength,方法是将其添加到您的application.rb

config.middleware.use Rack::ContentLength

然后,每个请求都会在标题中发送内容长度。