5

フラスコ アプリケーションに対して行われたすべての HTTP リクエストでメトリックを収集する最良の方法は何でしょうか。

私が測定したいことは次のとおりです。

  • 待ち時間 - 各リクエストの時間。
  • レート - 1 分あたりのリクエスト数など
  • 障害の数 - 障害があった場合、その数など。

また、変数パスへのリクエストを 1 つにまとめたいと考えています。たとえば、ルート '/resource/' へのすべてのリクエストは、リソースごとに個別に測定するのではなく、"RESOURCE" という名前のメトリックに対して測定する必要があります。

現在、デコレータを作成してこれを行う予定です。欠点は、メソッドごとにデコレータを追加する必要があることです。Flask がこれらを自動的に測定するためのフックを提供できる方法はありますか?

4

2 に答える 2

7

flask.Flask.before_requestおよびflask.Flask.teardown_requestデコレータのドキュメントを確認してください。メトリクスを送信するためのシンプルで高速なものが必要になるでしょう。適切なバックエンドの例については、グラファイトスケールを確認してください。

ログを集約するバックエンドがあれば、各リクエストの前後に実行する 2 つの関数を登録するだけです。

于 2012-05-31T05:18:49.633 に答える
1

New-Relic をチェックしてください。それはフラスコをサポートし、あなたが望む(そしてそれ以上の)手段を提供します。

于 2013-07-14T15:24:34.900 に答える