如何在C#控制台应用程序中使用mvc-mini-profiler?
同样好奇的是,mvc mini profiler是否将实际的配置文件统计信息放在每个网页的左侧,还是仅手动完成自定义javascript代码?
我下载并运行了mvc示例,但找不到将结果放入javascript弹出窗口的代码。
答案 0 :(得分:20)
查看MiniProfiler.Windows: http://nootn.github.com/MiniProfiler.Windows/
还有一篇关于如何设计一个好的控制台应用程序进行性能分析的详细文章: http://healthedev.blogspot.com.au/2012/07/performance-profiling-console-or-winwpf.html
答案 1 :(得分:11)
核心计时对象(MiniProfiler)应该正常工作,配置连接挂钩等应该正常工作;但是你需要;
我知道有些人已经将它的一部分用于WPF等,所以可以使用它 - 但IMO可能只选择有意义的位,并使用它们编写一个自定义库来添加一些很棒的东西。
答案 2 :(得分:3)
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 有趣的子程序= 309.2ms
> Step1 = 204.8ms
>> AccessDb = 103.8ms(sql = 56.2ms,2 cmds)
> Step2 = 100.9ms
如您所见,输出包括自定义计时的简短摘要(在本例中为sql)。您可以通过提供自己的RenderPlainText()
版本轻松更改此行为(例如,包含命令文本)。
有关详细信息,请查看: