Пытаясь отследить проблему с производительностью, которая возникает только в нашей производственной среде, мы включили трассировку в приложении, чтобы увидеть вызовы методов и время загрузки страницы.
Это работает хорошо, и есть многоинформации, которая помогает отследить проблемы.Однако единственный способ просмотреть эту информацию - перейти к Trace.axd, а затем просмотреть каждый запрос в отдельности.
Таким же образом можно только отслеживать первые X запросов, и X имеет максимальный лимитиз 10000
1006 * Есть ли способ направить эту информацию трассировки в файл или базу данных?Я считаю, что это можно сделать с помощью
System.Diagnostics
, однако мне не очень повезло.
Я включил трассировку, используя
<trace enabled="true" writeToDiagnosticsTrace="true" />
Я пытался использовать XmlWriterTraceListener
, используя
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="XmlWriterTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\trace.xml"
/>
</listeners>
</trace>
</system.diagnostics>
В результате получается xml-файл, содержащий метки времени и данные для таких элементов трассировки, как «Начальная загрузка», «Конечная загрузка» и т. Д.
Однако, кажется, что он только регистрируетсяодин запрос и не регистрирует все запросы.Кроме того, хотя время загрузки полезно, в идеале я хотел бы иметь доступ ко всей информации, которую можно увидеть в Trace.axd, такой как данные запроса, данные публикации, данные сеанса и т. Д.
Возможно ли это вообще без каких-либо серьезных изменений кода?В идеале я хотел бы включить это, используя только изменения web.config.
В качестве альтернативы я рассмотрел другие приложения, такие как инструменты профилирования RedGate и Equatec, однако сначала я хотел бы исчерпать неинвазивные параметры трассировки.
Приложение написано на ASP.Net 3.5 и C #.