c# – 使用迷你探测器

使用迷你探查器时,这是否意味着生产代码将使用块“乱丢”?
using (profiler.Step("Set page title"))
{
    ViewBag.Title = "Home Page";
}

我想如果它是一次性测试我可以删除它,但通常你想将它们保存在代码库中以进行持续分析.

解决方法

这实际上是一个不好的例子 – 你通常不会描述一些微不足道的东西.

最终,它是您想要描述的选修课.对于像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(…)方法.

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

>它强调performance is a feature(实际上,通常是一项要求) – 可以使用代码支持您的功能!实际上,这是一种证据表明您已经考虑(并测量过)新的/改变的代码片段的性能>完全是上下文的,你有多么精细>因此,它为用户提供了有意义的详细程度 – 在日志中没有大量的琐事,并且没有大多数日志记录的性能侵入性

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...