gpt4 book ai didi

c# - 使用迷你轮廓仪

转载 作者:太空狗 更新时间:2023-10-29 21:19:21 26 4
gpt4 key购买 nike

使用迷你分析器时,这是否意味着生产代码将被 using block “乱扔”?

using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}

我想如果它是一次性测试,我可以将其删除,但通常您希望将它们保留在代码库中以进行持续分析。

最佳答案

这实际上是一个糟糕的例子——你通常不会分析一些微不足道的东西。

最终,您可以选择要描述的内容。有一个用于 ADO.NET 之类的东西的钩子(Hook),但如果您想让它分析这之外的东西,是的:您需要帮助它。

重新“乱扔垃圾”,好吧,那是主观的。最好的方法通常是将检测限制在非常高级别的操作,然后只在您发现需要时(由于已确定的问题点)才使用更细粒度的操作进行放大;例如,您可能有:

...
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(...) 方法。

你是否认为这是“乱扔垃圾”:

  • 强调performance is a feature (实际上,通常是一项要求)- 拥有支持您的功能的代码是可以的!事实上,这是一种证据,表明您考虑(并测量)了一段新的/修改过的代码的性能
  • 它的精细程度完全取决于上下文
  • 因此,它为用户提供了有意义的详细信息 - 日志中没有大量的琐事,也没有大多数日志记录的性能侵入性

关于c# - 使用迷你轮廓仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com