2

我尝试了解网页的性能并使用 Trace.Write

问题是我使用 Parallel.Invoke 并启动了更多我想使用 Trace.Write 报告的线程

            Parallel.Invoke(() => Chart1AndLegend(param),
                () => Chart2(param),
                () => Chart3(param),
                () => Chart4(param));

我已经意识到 Trace.Write 不是一种很好的跟踪方式,因为它为您提供了自上次输入以来的时间,如果有更多线程正在写入,这将毫无意义..

问题:有什么好的建议如何在使用并行库时检测页面,还是我需要编写自己的跟踪!?!?

4

1 回答 1

1

可能在这里说明了明显的情况,但是如果您创建了一个 StopWatch(或多个)并简单地在 Trace.Write 消息中写入经过的时间怎么办?我想另一件事是确定您在跟踪类别中的线程/方法(使用 Thread.CurrentThread.ManagedThreadId)。

或者,您需要使用其他东西,如 Enterprise Library、log4net 或 System.Diagnostics 中的跟踪(有关System.Diagnostics 中跟踪的完整讨论,请参见http://www.15seconds.com/issue/020910.htm ) .

于 2010-07-09T09:07:57.407 回答