记录基于restlet的way服务的响应时间的最简单方法是什么?
我想确保我们的want服务有一个合理的响应时间。因此,我希望能够关注响应时间,并对耗时太长的请求采取一些措施。
我能找到的最接近的是这个配方:http://www.naviquan.com/blog/restlet-cookbook-log,它解释了如何改变日志格式。但是似乎没有响应时间的参数,所以可能需要一种完全不同的方法。
发布于 2010-03-20 00:14:36
当然,记录响应时间的最简单方法是在restlet开始时调用System.getCurrentTimeMillis()
,然后在restlet结束时再次调用并记录差异。这当然不会给你提供框架开销,我怀疑它比你所追求的要幼稚得多,琐碎得多。
然而,我之所以发布它,是因为10天后没有人回复你,我怀疑这是因为每个人都在默默地思考
“你不能直接使用System.getCurrentTimeMillis()吗?不,这肯定是一个太愚蠢的答案;如果我这么说,我会看起来像个笨蛋。我就等着别人发第一篇文章吧。”
。
发布于 2010-03-22 03:31:02
我不认为在这里使用日志记录,至少不是Restlet或Java API中内置的任何类型的日志记录。它们用于面向编程调试的日志记录或访问日志记录,旨在提供有关哪些资源正在使用以及由谁使用的统计信息。但真正的问题是,你无法衡量你的用户对你的服务的真实体验。
如果您想测量用户将经历的响应时间,那么您真的需要一种方法来采样位于应用程序堆栈之外的响应时间,最好是在数据中心之外,以便尽可能接近地模拟用户将使用您的服务的真实条件。
如果您只需要测试相当简单的GET
和POST
请求的结果,像Pingdom这样的服务可能就足够了。如果您的服务比较复杂,那么您可能需要编写自己的采样应用程序/脚本,它可以作为Pingdom等人对您的实际服务的代理。您应该将采样代理托管在与实际服务不同的服务器上。谷歌的App Engine可能对此很方便。
发布于 2018-03-29 19:04:14
我想一种方法是使用Codehale的指标API。只需将注释@Timed(name="sampleApiName")
添加到您的API声明。
https://stackoverflow.com/questions/2379753
复制相似问题