2013-07-29 16 views
8

私が取り組んでいるASP.NET MVCのWebサイトには、いくつかの( "Controller") "ユーザー"ページといくつかの( "ApiController") "api"ページがあります。MiniProfilerを使用してASP.NET MVC WebApi Webサイトを計測できますか?

このサイトでは、「ユーザー」ページを装備するのにMiniProfilerを使用しています。本当に好きです。私は、 "api"ページに同じまたは同様の機能を持たせたいと思います。具体的には、実行されたSQL文の記録と、すべての時間がどれくらいかかりました。

this link私はエントリポイントのURLがブラウザのアドレスバーに入力されていると思っていましたが、ASP.NET MVC WebApiでそのまま表示されるデフォルトのビューを使用しています。自分のURLはXMLドキュメント(またはJSONレスポンス)を返します。

また、実際のAPI呼び出しが別のプログラムによって開始されているため、ブラウザから手を出すことができるようなものをお勧めします。セッション全体に関する情報を記録できるようにしたいと考えています単一の要求ではなく、

アドバイスはありますか?

答えて

7

結果を廃棄する代わりに、結果をデータベースに記録させることができます。その時点で、(セッションまたはエンドポイントに対して)時間の経過とともにパフォーマンスを振り返ることができます。

追加:あなたの設定に

MiniProfiler.Settings.Storage = new SqlServerStorage("connection string here"); 

と、それはデータベースへのロギングを開始する必要があります。

+1

ありがとうございました。これは素晴らしいことですが、他の人の利益のために、自動的にデータベースを作成しないことを言及することをお勧めします.SQLを使用してデータベースを作成し、初期化する必要があります。 'StackExchange.Profiling.Storage.SqlServerStorage.TableCreationScript '(GitHubのMiniProfilerソースを参照してください)。その事実の証拠があるかもしれませんが、私はそれを見つけることができませんでした。 –

+2

また、これは保存された結果を視覚化する良い方法です:http://antonvishnyak.wordpress.com/2011/09/07/building-an-mvc-mini-profiler-dashboard/ –

+0

@GaryMcGill私はそれを発見しましたMiniProfilerの領域は非常に薄いです。私は彼らが自動的にこの時点でデータベースを作成しようと考えていた...それを指摘してくれてありがとう! –