如何在Flask应用程序中收集性能指标?

时间:2012-05-30 21:19:30

标签: python flask

收集针对烧瓶应用程序的所有HTTP请求的指标的最佳方法是什么。

我想衡量的是:

  • 延迟 - 每个请求的时间。
  • 费率 - 每分钟请求数等。
  • 没有失败 - 如果有失败,有多少等等。

另外,我想将请求分组为一个变量路径。例如,对于名为“RESOURCE”的度量标准,应测量对路由'/ resource /'的所有请求,而不是针对每个资源单独测量。

我打算通过编写装饰器来做到这一点。缺点是我需要为每个方法添加装饰器。 有没有办法让Flask可以为我提供自动测量的钩子。

2 个答案:

答案 0 :(得分:5)

查看flask.Flask.before_requestflask.Flask.teardown_request装饰器的文档。您需要一些简单的快速来发送指标 - 请查看graphitescales以获取适当后端的示例。

一旦你的日志聚合后端,那么在每个请求之前和之后注册两个函数就可以了。

答案 1 :(得分:1)

结帐New-Relic。 它支持烧瓶,并为您提供您想要的措施(以及更多)。