Передовая практика использования веб-страницы при параллельных заданиях - PullRequest
2 голосов
/ 24 июня 2010

Я пытаюсь понять производительность веб-страницы и использую Trace.Write

Проблема заключается в том, что я использую Parallel.Invoke и запускаю больше потоков, в которые я хотел бы отчитаться, используя Trace.Write.

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

Я понял, что Trace.Write не является хорошим способом трассировки, поскольку дает вам время с момента последней записи, которое не имеет смысла, если пишут больше потоков ..

Вопрос: Любое хорошее предложение, как обрабатывать страницу при использовании библиотеки Parallel, или мне нужно написать свою собственную трассировку!?!?

1 Ответ

1 голос
/ 09 июля 2010

Здесь можно указать очевидное, но что, если вы создали StopWatch (или число) и просто записали прошедшее время в сообщении Trace.Write? Я полагаю, что другим было бы определить, какой поток / метод находится в категории трассировки (используйте Thread.CurrentThread.ManagedThreadId).

В качестве альтернативы вам нужно будет использовать что-то еще, например Enterprise Library, log4net или трассировку в System.Diagnostics (полное обсуждение трассировки в System.Diagnostics см. В http://www.15seconds.com/issue/020910.htm).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...