ミニプロファイラーを使用する場合、これは、ブロックを使用するとプロダクションコードが「散らかる」ことを意味しますか?
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
1回限りのテストであれば削除できると思いますが、通常は、一定のプロファイリングのためにこれらをコードベースに保持する必要があります。
ミニプロファイラーを使用する場合、これは、ブロックを使用するとプロダクションコードが「散らかる」ことを意味しますか?
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
1回限りのテストであれば削除できると思いますが、通常は、一定のプロファイリングのためにこれらをコードベースに保持する必要があります。
これは実際には悪い例です。通常、些細なことをプロファイリングすることはありません。
最終的に、それはあなたがプロファイリングしたいものを選択的にします。ADO.NETのようなものにはフックがありますが、これ以外のものをプロファイリングしたい場合は、そうです。手を差し伸べる必要があります。
再「散らかった」、まあ、それは主観的です。そして、最善のアプローチは、通常、インストルメンテーションを非常に高レベルの操作に制限し、必要に応じて(特定された問題箇所のために)より詳細な操作でのみズームインすることです。たとえば、次のようになります。
...
using(profiler.Step("Refresh customer"))
{
// ...
}
...
そして、1800msのズームインを見つけた場合にのみ:
...
using(profiler.Step("Refresh customer"))
{
using(profiler.Step("Query LDAP"))
{ ... }
using(profiler.Step("Query primary customer DB"))
{ ... }
using(profiler.Step("Query aux db"))
{ ... }
using(profiler.Step("Print, scan, and OCR"))
{ ... }
}
...
.Inline(...)
個々のコマンドの方法もあります。
これが「ポイ捨て」だと思うかどうか: