AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.01.2008, 19:50   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
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  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Действительно, не сильно замедляет выполнение, однако TraceCocpit у меня не работает - валится без сообщений на вызове

X++:
if(controller.isClientTracing())
в init
Теги
trace parser, трассировка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
AX UK: Trace Parser (beta) tool for Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 01.08.2007 21:40
Dynamics AX: Trace Parser (beta) tool for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 1 14.04.2007 04:32
Dynamics AX: Trace Parser (beta) tool for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 0 20.03.2007 14:40
Сергей Герасимов: Что нового в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 16.01.2007 11:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:10.