ServiceStack API (3.9.58) があります。グローバルリクエストフィルターとグローバルレスポンスフィルターを登録するIPluginを実装することにより、statsdを使用してリクエスト実行の時間を計っています(RequestLogFeatureについては知っていますが、これだけではありません)。リクエストが開始されたときにアイテムコレクションに開始済みを貼り付け、Stopwatch
リクエストが完了すると再びそれを引き出します。
.....
public void Register(IAppHost appHost)
{
appHost.RequestFilters.Add(OnBeginRequest);
appHost.ResponseFilters.Add(OnEndRequest);
}
.....
これは非常に効果的です (同じことをするServiceRunner
でIRequestLogger
行うのと同じように)。
しかし、out-of-the-box を使用して検証を追加するとValidationFeature
、要求が検証ルールを満たしていないため、4xx をダンプした要求のタイミング情報を取得できなくなりました。
this SO questionから、ステータスに関係なくグローバル応答フィルターが起動することがわかっています。しかし、私にとってはそうではありません。どこから探し始めるべきですか?