|
14.01.2008, 19:50 | #1 |
Участник
|
aEremenko: Trace Parser для Microsoft Dynamics AX
Источник: http://blogs.msdn.com/aeremenk/archi...4/7107453.aspx
============== Начиная с версии 4.0 для Microsoft Dynamics AX существует внешняя утилита трассировки кода и запросов. Скачать ее можно с PartnerSource. Утилита предназначена для замены Профайлера кода и Трассировки запросов SQL, сохранившихся с предыдущих версиий в Microsoft Dynamics AX 4.0. Для чего потребовалась внешняя утилита, ведь Профайлер и Трассировка запросов по-прежнему могут использоваться? Дело в том, что внутренние утилиты никак нельзя было назвать "легкими", они генерировали достаточно большой объем данных и складывали его в ту же базу данных, которая использовалась и экземпляром Microsoft Dynamics AX 4.0. В данной статье не рассматриваются внутренние утилиты Профайлера кода и Трассировки запросов SQL. В отличие от внутренних утилит, Trace parser нагружает анализируемую систему максимум на 4%. Trace parser позволяет анализировать файлы логов размерностью до 10Гб, а также сводить в одном месте данные по трассировке запросов RPC, запросов к данным на стороне SQL Server и исполнению кода X++. Утилита существует в бета-версии, поскольку пока нет планов ее официальной поддержки через обычный канал службы поддержки для Microsoft Dynamics AX 4.0 (версии утилиты до 5.0). Установка проста, нужно указать папку куда складывать данные логов и базу данных для создания представлений. При необходимости анализа ситуации "на лету", можно установить и интеграцию с клиентом Microsoft Dynamics AX. В последнем случае, запустится клиент Microsoft Dynamics AX для импорта требуемых объектов. До установки проверьте наличие .NET Framework 3.0. Включаем трассировку для сервера приложений AOS, если необходимо: Теперь включаем трассировку и на клиенте: Создаем журнал ГК и разносим его. Файлы логов сервера и клиента копируем в папку Trace Parcer (в моем случае - C:\AX Trace\Logs\Unprocessed). Хотя это и необязательно, облегчает администрирование. Импортируем логи: Теперь в Trace Analyzer можно открыть лог и начать его анализ. Например, найдем вызовы методов класса LedgerJournalCheckPost, выберем метод. Затем можно нажать кнопку "Jump to Callstack", чтобы посмотреть код. Утилита анализа довольная проста и понятна, особенно тем, кто ранее имел дело с внутреннеми утилитами Профайлера кода и Трассировки запросов SQL. Имеются развитые средства поиска, описанные в документации. Что в документации не описанно или недостаточно детализированно, так это описание вызовов RPC: Метод Описание [Client\Server]EvalFunc Оценка функции на другом уровне (для клиента – на серверном уровне) [Client\Server]FreeClass Освобождение объекта на другом уровне ServerNext Операции доступа к данным или манипуляций с данными со стороны клиента ServerWriteBegin Вызов TTSBegin на клиенте ServerWriteEnd Вызов TTSCommit\TTSAbort на клиенте [Client\Server]DestructCursor Очистка буфера записи на другом уровне [Client\Server]UpdateDirtyCursor Обновление буфера записи на другом уровне с новой информацией ServerRecordInsertList Вызов операции вставки записей с использованием RecordInsertList со стороны клиента [Client\Server]SetClassLoopDependencies Увеличение счетчика ссылок к объекту на другом уровне [Client\Server]TestClassLoopDependencies Запрос к другому уровню с целью проверки статуса объекта и его освобождению, если таковое возможно Данная статья подготовлена с помощью Windows Live Writer. Источник: http://blogs.msdn.com/aeremenk/archi...4/7107453.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
16.01.2008, 19:26 | #2 |
Участник
|
Действительно, не сильно замедляет выполнение, однако TraceCocpit у меня не работает - валится без сообщений на вызове
X++: if(controller.isClientTracing()) |
|
Теги |
trace parser, трассировка |
|
|