使用迷你分析器时,这是否意味着生产代码将被使用块“乱扔”?
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
我想如果它是 1-off 测试,我可以将其删除,但通常您希望将它们保留在代码库中以进行持续分析。
使用迷你分析器时,这是否意味着生产代码将被使用块“乱扔”?
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
我想如果它是 1-off 测试,我可以将其删除,但通常您希望将它们保留在代码库中以进行持续分析。
这实际上是一个不好的例子——你通常不会描述一些微不足道的事情。
最终,您想要描述的内容是可选的。像 ADO.NET 这样的东西有一个钩子,但如果你想让它分析除此之外的东西,是的:你需要帮助它。
重新“乱扔垃圾”,嗯,这是主观的。最好的方法通常是将检测限制在非常高级别的操作中,然后仅在您发现需要时使用更精细的操作进行放大(由于已识别的问题点);例如,您可能有:
...
using(profiler.Step("Refresh customer"))
{
// ...
}
...
然后只有当你发现需要 1800 毫秒放大时:
...
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(...)
一种用于单个命令的方法。
无论您是否认为这是“乱扔垃圾”: