我尝试了解网页的性能并使用Trace.Write
问题是我使用Parallel.Invoke并启动更多线程,我想使用Trace.Write报告回来
Parallel.Invoke(() => Chart1AndLegend(param),
() => Chart2(param),
() => Chart3(param),
() => Chart4(param));
我已经意识到Trace.Write不是一种很好的跟踪方式,因为它会给你自上一次输入以来的时间,如果有更多的线程在写,那就毫无意义了。
问题:如何在使用并行库时检测页面是否有任何好的建议,或者我是否需要编写自己的跟踪!?!?
答案 0 :(得分:1)
可能会在这里说明显而易见的,但如果您创建了一个StopWatch(或多个)并简单地在Trace.Write消息中写入已用时间怎么办?我想另一件事是确定你在跟踪类别中的线程/方法(使用Thread.CurrentThread.ManagedThreadId)。
或者,您需要使用其他类似Enterprise Library,log4net或System.Diagnostics中的跟踪(有关System.Diagnostics中跟踪的完整讨论,请参阅http://www.15seconds.com/issue/020910.htm)。