C#コンソールアプリケーションでmvc-mini-profilerを使用するにはどうすればよいですか?
また、興味深いことに、mvc miniプロファイラーは実際のプロファイル統計を各Webページの左側に配置しますか、それともカスタムjavascriptコードを手動で実行するだけですか?
mvcサンプルをダウンロードして実行しましたが、結果をそのjavascriptポップアップに表示するコードが見つかりません。
C#コンソールアプリケーションでmvc-mini-profilerを使用するにはどうすればよいですか?
また、興味深いことに、mvc miniプロファイラーは実際のプロファイル統計を各Webページの左側に配置しますか、それともカスタムjavascriptコードを手動で実行するだけですか?
mvcサンプルをダウンロードして実行しましたが、結果をそのjavascriptポップアップに表示するコードが見つかりません。
はい、できます!また、NuGetパッケージを作成して、実行をさらに簡単にしました。
MiniProfiler.Windowsをチェックしてください:http: //nootn.github.com/MiniProfiler.Windows/
また、プロファイリング用の優れたコンソールアプリを設計する方法の詳細については、http: //healthedev.blogspot.com.au/2012/07/performance-profiling-console-or-winwpf.htmlをご覧ください。
プロファイル接続フックなどと同様に、コアタイミングオブジェクト(MiniProfiler)は正常に機能するはずです。ただし、次のことを行う必要があります。
一部の人がWPFなどに使用しているので、使用できますが、IMOは、意味のあるビットだけを選択し、それらを使用して、すばらしい追加のカスタムライブラリを作成するのが理にかなっているかもしれません。
MiniProfiler V4 (現在プレリリース) にはメソッドがありRenderPlainText()
ます。追加のセットアップなしで、コンソールまたはマルチスレッド非同期サーバー アプリケーションで直接使用できます。
public void Foo()
{
MiniProfiler.Start("Interesting subroutine");
using (MiniProfiler.Current.Step("Step1"))
{
using (MiniProfiler.Current.Step(nameof(AccessDb)))
{
AccessDb();
}
Thread.Sleep(100);
}
using (MiniProfiler.Current.Step("Step2"))
{
Thread.Sleep(100);
}
MiniProfiler.Stop();
Console.WriteLine(MiniProfiler.Current.RenderPlainText());
}
このコード スニペットは、次の出力を生成します。
PCName at 8/2/2017 8:44:36 AM
興味深いサブルーチン = 309.2ms
> Step1 = 204.8ms
>> AccessDb = 103.8ms (sql = 56.2ms in 2 cmds)
> Step2 = 100.9ms
ご覧のとおり、出力にはカスタム タイミング (この場合は sql) の短い要約が含まれています。独自のバージョンのRenderPlainText()
.
詳細については、次を確認してください。