Трассировка выполнения форматов электронной отчетности для устранения неполадок, связанных с производительностью
В процессе разработки конфигураций электронной отчетности (ER) для создания электронных документов определяется метод, используемый для извлечения данных из приложения и ввода их в создаваемые выводные данные. Функция трассировки производительности электронной отчетности позволяет значительно сократить время и затраты, связанные со сбором сведений о выполнении формата ER, и использовать их для устранения неполадок, связанных с производительностью. В этом учебнике приводятся инструкции по выполнению трассировки производительности для выполняемых форматов электронной отчетности, а также по использованию сведений из этих трассировок для повышения производительности.
Необходимые условия
Чтобы завершить примеры из этого учебника, необходимы следующие возможности доступа:
Доступ к одной из следующих ролей:
- Разработчик электронной отчетности
- Консультант по функциональным возможностям электронной отчетности
- Системный администратор
Доступ к экземпляру служб Regulatory Configuration Service (RCS), который был настроен для того же клиента, что и приложение, для одной из следующих ролей:
- Разработчик электронной отчетности
- Консультант по функциональным возможностям электронной отчетности
- Системный администратор
Кроме того, необходимо загрузить следующие файлы и сохранить их локально.
Хранилище файлов | Содержание |
---|---|
Модель трассировки производительности.версия.1 | Пример конфигурации модели данных электронной отчетности |
Метаданные трассировки производительности.версия.1 | Пример конфигурации метаданных электронной отчетности |
Сопоставление трассировки производительности.версия.1.1 | Пример конфигурации сопоставления модели электронной отчетности |
Формат трассировки производительности.версия.1.1 | Пример конфигурации формата электронной отчетности |
Настройка параметров ER
Каждая трассировка производительности электронной отчетности, созданная в приложении, сохраняется в виде вложения в записи журнала выполнения. Для управления этими вложениями используется структура управления документооборотом (DM). Необходимо заранее настроить параметры электронной отчетности, чтобы указать тип документа DM, который должен использоваться для вложения трассировок производительности. В рабочей области Электронная отчетность выберите Параметры электронной отчетности. Затем на странице Параметры электронной отчетности на вкладке Вложения в поле Прочие выберите тип документа DM, который будет использоваться для трассировок производительности.
Чтобы тип документа DM был доступным в поле подстановки Прочие, он должен быть настроен следующим образом на странице Типы документов (Администрирование организации > Управление документами > Типы документов):
- Класс: Вложить файл
- Группа: Файл
Примечание
Выбранный тип документа должен быть доступен в каждой компании в текущем экземпляре, поскольку вложения DM являются специфическими для компании.
Настройка параметров RCS
Создаваемые трассировки производительности электронной отчетности будет импортированы в службу RCS для анализа с помощью конструктора форматов электронной отчетности и конструктора сопоставления электронной отчетности. Так как трассировки производительности электронной отчетности хранятся в виде вложений в запись журнала выполнения, которая относится к формату электронной отчетности, необходимо заранее настроить параметры службы RCS, чтобы указать тип документа DM, который должен использоваться для присоединения трассировок производительности. В экземпляре службы RCS, который был подготовлен для компании, в рабочей области Электронная отчетность выберите Параметры электронной отчетности. Затем на странице Параметры электронной отчетности на вкладке Вложения в поле Прочие выберите тип документа DM, который будет использоваться для трассировок производительности.
Чтобы тип документа DM был доступным в поле подстановки Прочие, он должен быть настроен следующим образом на странице Типы документов (Администрирование организации > Управление документами > Типы документов):
- Класс: Вложить файл
- Группа: Файл
Разработка решения электронной отчетности
Предположим, что вы приступили к разработке нового решения ER для создания нового отчета, представляющего проводки по поставщику. В настоящее время на странице Проводки по поставщику можно найти проводки для выбранного поставщика (перейдите по пути Расчеты с поставщиками > Поставщики > Все поставщики, выберите поставщика, затем на панели операций на вкладке Поставщик в группе Проводки выберите Проводки). Однако необходимо иметь одновременно все проводки поставщика в одном электронном документе в формате XML. Это решение будет состоять из нескольких конфигураций ER, которые содержат требуемую модель данных, метаданные, сопоставление моделей и компоненты формата.
Выполните вход в экземпляр службы RCS, который был подготовлен для вашей компании.
В этом учебнике вам предстоит создать и изменить конфигурации для демонстрационной компании Litware, Inc. Поэтому убедитесь, что данный поставщик конфигурации был добавлен в RCS и выбран как активный. Инструкции см. в процедуре Создание поставщиков конфигураций и пометка их как активных.
В рабочей области Электронная отчетность выберите плитку Конфигурации отчетности.
На странице Конфигурации импортируйте конфигурации электронной отчетности, загруженные в качестве необходимого компонента в RCS, в следующем порядке: модель данных, метаданные, сопоставление моделей, формат. Для каждой конфигурации выполните следующие действия.
- На панели действий выберите пункт Обмен > Загрузить из XML-файла.
- Выберите Обзор, чтобы выбрать соответствующий файл для требуемой конфигурации ER в формате XML.
- Нажмите ОК.
Запуск решения электронной отчетности для трассировки выполнения
Предположим, что вы завершили разработку первой версии решения ER. Теперь необходимо проверить его в своем экземпляре и проанализировать производительность выполнения.
Импорт конфигурации ER из RCS в финансы и операции
Выполните вход в экземпляр приложения.
В этом учебнике будут импортированы конфигурации из экземпляра RCS (где вы разрабатываете компоненты электронной отчетности) в ваш экземпляр (где они проверяются и затем используются). Поэтому необходимо убедиться, что все необходимые артефакты подготовлены. Инструкции см. в процедуре Импорт конфигураций электронной отчетности из служб Regulatory Configuration Service (RCS)
Выполните следующие действия, чтобы импортировать конфигурации из RCS в приложение:
- В рабочей области Электронная отчетность на плитке поставщика конфигурации Litware, Inc. выберите Репозитории.
- На странице Репозиторий конфигураций выберите репозиторий типа RCS, затем выберите Открыть.
- На экспресс-вкладке Конфигурации выберите конфигурацию Формат трассировки производительности.
- На экспресс-вкладке Версии выберите версию 1.1 выбранной конфигурации, затем выберите Импорт.
Соответствующие версии модели данных и конфигурации сопоставления моделей автоматически импортируются как необходимые условия для импортированной конфигурации формата ER.
Включение трассировки производительности электронной отчетности
Перейдите в раздел Управление организацией > Электронная отчетность > Конфигурации.
На странице Конфигурации в области действий на вкладке Конфигурации в группе Дополнительные параметры выберите Параметры пользователя.
В диалоговом окне Параметры пользователя в разделе Трассировка выполнения выполните следующие действия:
В поле Формат трассировки выполнения укажите формат созданного отслеживания производительности, в котором должны храниться сведения о выполнении, для формата ER и элементов сопоставления:
Отладка формата трассировки — выберите это значение, если планируется интерактивно выполнить формат ER, для которого используется краткое время выполнения. Затем запускается сбор сведений о выполнении формата ER. Если выбрано это значение, трассировка производительности собирает сведения о времени, затраченном на выполнение следующих действий:
- Выполнение каждого источника данных в сопоставлении модели, которое вызывается для извлечения данных
- Обработка каждого элемента формата для ввода данных в создаваемые выходные данные
Если выбрано значение Отладка формата трассировки, можно проанализировать содержимое трассировки в конструкторе операций ER. Там можно просмотреть формат ER или элементы сопоставления, которые упоминаются в трассировке.
Агрегированный формат трассировки — выберите это значение, если планируется выполнить формат ER, для которого используется долгое время выполнения в пакетном режиме. Затем запускается сбор агрегированных сведений о выполнении формата ER. Если выбрано это значение, трассировка производительности собирает сведения о времени, затраченном на выполнение следующих действий:
- Выполнение каждого источника данных в сопоставлении модели, которое вызывается для извлечения данных
- Выполнение каждого источника данных в сопоставлении формата, которое вызывается для извлечения данных
- Обработка каждого элемента формата для ввода данных в создаваемые выходные данные
Значение Агрегированный формат трассировки доступно в Microsoft Dynamics 365 Finance версии 10.0.20 и выше.
В конструкторе форматов ER и в конструкторе сопоставления моделей ER можно просмотреть общее время выполнения для отдельного компонента. Кроме того, в трассировке содержатся подробные сведения о выполнении, такие как число выполнений, а также минимальное и максимальное время для одного выполнения.
Примечание
Трассировка собирается на основе пути к отслеживаемым компонентам. Поэтому статистика может быть неверной, если один родительский компонент содержит несколько безымянных дочерних компонентов или если несколько дочерних компонентов имеют одинаковое имя.
Задайте для следующих параметров значение Да, чтобы собрать определенные подробные сведения о выполнении сопоставления модели ER и компонентах формата ER:
Сбор статистики запросов — когда этот параметр включен, трассировка производительности соберет следующую информацию:
- Число вызовов базы данных, выполненных источниками данных
- Количество дублированных обращений к базе данных
- Подробные сведения об инструкциях SQL, которые использовались для выполнения вызовов базы данных
Отслеживания доступа кэширования — если этот параметр включен, трассировка производительности будет собирать сведения об использовании кэша сопоставлений модели ER.
Трассировка доступа к данным — когда этот параметр включен, трассировка производительности будет собирать сведения о количестве обращений к базе данных для запущенных источников данных типа списка записей.
Перечисление списка трассировки — когда этот параметр включен, трассировка производительности будет собирать сведения о количестве записей, запрошенных из источников данных типа списка записей.
Примечание
Параметры в диалоговом окне Параметры пользователя относятся только к этому пользователю и текущей компании.
Выполнение формата электронной отчетности
- Выберите компанию DEMF.
- Перейдите в раздел Управление организацией > Электронная отчетность > Конфигурации.
- На странице Конфигурации в дереве конфигураций выберите пункт Формат трассировки производительности.
- В области действий выберите Выполнить.
Обратите внимание, что создаваемый файл содержит информацию о 265 транзакциях для шести поставщиков.
Просмотр трассировки выполнения
Экспорт созданной трассировки из приложения
Трассировки производительности не связаны с исходным форматом ER и могут быть сериализованы во внешний ZIP-файл.
Перейдите в раздел Администрирование организации > Электронная отчетность > Журналы отладки конфигураций.
На странице Журналы выполнения электронной отчетности в левой области в поле Имя конфигурации выберите Формат трассировки производительности для поиска записей журнала, созданных при выполнении конфигурации Формат трассировки производительности.
Выберите кнопку Вложения (символ скрепки) в верхнем правом углу страницы или нажмите Ctrl+Shift+A.
На странице Вложения для журналов выполнения прикрепления электронной отчетности на панели операций выберите Открыть, чтобы получить трассировку производительности в виде ZIP-файла и сохранить ее локально.
Примечание
Создаваемая трассировка имеет ссылку на исходный отчет ER с помощью уникального идентификатора отчета только в формате GUID. Нумерация версий этого формата не учитывается.
Обратите внимание, что связь между трассировкой производительности, созданной для выполненного формата ER, и сопоставлением модели ER основана на используемом корневом дескрипторе и общей модели данных. Нумерация версий этого формата и сопоставление модели не учитывается. Настройка флага По умолчанию для сопоставления модели для сопоставления модели также не учитывается.
Импорт созданной трассировки в RCS
В службе RCS в рабочей области Электронная отчетность выберите плитку Конфигурации отчетности.
На странице Конфигурации в дереве конфигураций разверните элемент Модели трассировки производительности и выберите пункт Формат трассировки производительности.
В области действий выберите Конструктор.
На странице Конструктор форматов в области действий выберите Трассировка производительности.
В диалоговом окне Параметры результатов трассировки производительности выберите Импорт трассировки производительности.
Выберите Обзор, чтобы выбрать экспортированный ранее ZIP-файл.
Нажмите ОК.
Используйте трассировку производительности для анализа в RCS — выполнение формата
В RCS на странице Конструктор формата выберите Развернуть/свернуть, чтобы развернуть содержимое всех элементов формата.
Обратите внимание, что для некоторых элементов текущего формата отображаются дополнительные сведения:
- Фактическое время, потраченное на ввод данных в генерируемые выходные данные с использованием элемента формата
- То же время, выраженное в процентах от общего времени, затраченного на формирование всех выходных данных
Закройте страницу Конструктор форматов.
Использование трассировки производительности для анализа в RCS — сопоставление модели
- В службе RCS на странице Конфигурации в дереве конфигураций выберите пункт Сопоставление трассировки производительности.
- В области действий выберите Конструктор.
- Выберите Конструктор.
- На странице Конструктор сопоставления модели в области действий выберите Трассировка производительности.
- Выберите ранее импортированную трассировку.
- Нажмите ОК.
Обратите внимание, что новые сведения становятся доступны для некоторых элементов источника данных в текущем сопоставлении модели:
- Фактическое время, потраченное на получение данных с использованием источника данных
- То же время, выраженное в процентах от общего времени, затраченного на выполнение всего сопоставления модели
Обратите внимание, что электронная отчетность информирует вас о том, что текущее сопоставление модели дублирует запросы к базе данных, когда выполняется источник данных VendTable/<Relations/VendTrans.VendTable_AccountNum. Такое дублирование происходит из-за того, что список проводок поставщика вызывается два раза для каждой итерации записи поставщика:
- Один вызов выполняется для ввода подробных сведений о каждой проводке в модели данных на основе настроенных привязок.
- Один вызов создается для ввода рассчитанного количества проводок по поставщику в модели данных.
Значение [Q:530] указывает на то, что таблица VendTrans была вызвана 530 раз, чтобы вернуть запись из этой таблицы в источник данных VendTable/<Relations/VendTrans.VendTable_AccountNum. Значение [530] указывает на то, что источник данных VendTable/<Relations/VendTrans.VendTable_AccountNum был вызван 530 раз, чтобы вернуть запись из этого источника данных и ввести сведения из нее в модель данных.
Рекомендуется использовать кэширование для источника данных VendTable/<Relations/VendTrans.VendTable_AccountNum, чтобы уменьшить число вызовов, производимых для получения сведений о 265 проводках и помочь улучшить производительность сопоставления модели.
Также может быть полезно уменьшить количество вызовов, выполненных в источнике данных LedgerTransTypeList. Этот источник данных используется для связи каждого значения перечисления LedgerTransType с его меткой. Используя этот источник данных, можно найти соответствующую метку и ввести ее в модель данных для каждой проводки поставщика. Текущее число вызовов этого источника данных (9 027) довольно большое для 265 проводок.
Улучшите сопоставление модели на основе информации из трассировки выполнения
Изменение логики сопоставления модели
Выполните следующие действия, чтобы использовать кэширование, чтобы предотвратить повторные обращения к базе данных:
- В службе RCS на странице Конструктор сопоставления модели в области Источники данных выберите элемент VendTable.
- Выберите Кэш.
- Разверните элемент VendTable, раскройте список связей "один ко многим" для источника данных VendTable (элемент <Связи) и выберите элемент VendTrans.VendTable_AccountNum.
- Выберите Кэш.
Выполните следующие действия, чтобы перенести источник данных LedgerTransTypeList в область источника данных VendTable:
- В области Типы источников данных раскройте элемент Функции и выберите элемент Вычисляемое поле.
- В области Источники данных выберите элемент VendTable.
- Выберите Добавить.
- В поле Имя введите $TransType.
- Выберите Изменить формулу.
- В поле Формула введите LedgerTransTypeList.
- Нажмите Сохранить.
- Закройте страницу Редактор формул.
- Нажмите кнопку OК.
Выполните следующие действия, чтобы выполнить кэширование поля $TransType:
- Выберите элемент LedgerTransTypeList.
- Выберите Кэш.
- Выберите элемент VendTable.$TransType.
- Выберите Кэш.
Выполните следующие действия для изменения поля $TransTypeRecord, чтобы оно начало использовать кэшированное поле $TransType:
В области Источники данных разверните элемент VendTable, разверните элемент <Связи, разверните элемент VendTrans.VendTable_AccountNum и выберите элемент VendTable. VendTrans.VendTable_AccountNum.$TransTypeRecord.
Выберите Правка.
Выберите Изменить формулу.
В поле Формула найдите следующее выражение:
FIRSTORNULL (WHERE (LedgerTransTypeList, LedgerTransTypeList.Enum = @.TransType))
В поле Формула введите следующее выражение:
FIRSTORNULL (WHERE (VendTable.'$TransType', VendTable.'$TransType'.Enum = @.TransType)).
Нажмите Сохранить.
Закройте страницу Редактор формул.
Нажмите ОК.
Нажмите Сохранить.
Закройте страницу Конструктор сопоставления модели.
Закройте страницу Сопоставления модели.
Выполните измененную версию сопоставления модели ER
- В RCS на странице Конфигурации на экспресс-вкладке Версии выберите версию 1.2 конфигурации Сопоставление трассировки производительности.
- Выберите Изменить статус.
- Выберите Завершено.
Импорт измененной конфигурации сопоставления модели ER из RCS в приложение
Повторите шаги из раздела Импорт конфигурации ER из службы RCS в финансы и операции выше в этой статье, чтобы импортировать версию 1.2 конфигурации Сопоставление трассировки производительности.
Запуск измененного решения электронной отчетности для трассировки выполнения
Выполнение формата электронной отчетности
Повторите шаги из раздела Выполнение формата электронной отчетности выше в этой статье, чтобы создать новую трассировку производительности.
Работа с трассировкой выполнения
Экспорт созданной трассировки из приложения
Повторите шаги из раздела Экспорт созданной трассировки из приложения выше в этой статье, чтобы сохранить новую трассировку производительности локально.
Импорт созданной трассировки в службу RCS
Повторите шаги из раздела Импорт созданной трассировки в службу RCS выше в этой статье для импорта новой трассировки производительности в RCS.
Используйте трассировку производительности для анализа в RCS — сопоставление модели
Повторите шаги из раздела Используйте трассировку производительности для анализа в RCS — сопоставление модели выше в этой статье для анализа последней трассировки производительности.
Обратите внимание, что изменения, внесенные в сопоставление модели, исключают повторяющиеся запросы к базе данных. Также уменьшилось число обращений к таблицам базы данных и источникам данных для данного сопоставления модели. Поэтому производительность всего решения ER улучшилась.
В данных трассировки значение [12] для источника данных VendTable указывает, что этот источник данных вызывался 12 раз. Значение [Q:6] указывает, что шесть вызовов были преобразованы в вызовы таблицы VendTable базы данных. Значение [C:6] указывает, что записи, которые были извлечены из базы данных, были кэшированы, и шесть других вызовов были обработаны с использованием кэша.
Обратите внимание, что количество вызовов источника данных LedgerTransTypeList уменьшилось с 9 027 до 240.
Просмотр трассировки выполнения в приложении
В дополнение к RCS, некоторые версии могут предоставлять возможности для конструктора структуры электронной отчетности. Эти версии имеют параметр Включить режим конструктора, который может быть включен. Этот параметр можно найти на вкладке Общие страницы Параметры электронной отчетности, которую можно открыть из рабочей области Электронная отчетность.
При использовании одной из этих версий можно анализировать подробные сведения о созданных трассировках производительности непосредственно в приложении. Нет необходимости экспортировать их из приложения и импортировать в RCS.
Просмотр трассировки выполнения с помощью внешних средств
Настройка параметров пользователя
- Перейдите в раздел Управление организацией > Электронная отчетность > Конфигурации.
- На странице Конфигурации в области действий на вкладке Конфигурации в группе Дополнительные параметры выберите Параметры пользователя.
- В диалоговом окне Параметры пользователя в разделе Трассировка выполнения в поле Формат трассировки выполнения выберите PerfView XML.
Выполнение формата электронной отчетности
Повторите шаги из раздела Выполнение формата электронной отчетности выше в этой статье, чтобы создать новую трассировку производительности.
Обратите внимание, что веб-браузер предлагает ZIP-файл для загрузки. Этот файл содержит трассировку производительности в формате PerfView. Затем можно воспользоваться средством анализа производительности PerfView, чтобы проанализировать сведения о выполнении формата электронной отчетности.
Использование внешних инструментов для просмотра трассировки выполнения, в которой имеются запросы базы данных
Вследствие улучшений, сделанных в среде электронной отчетности, трассировка производительности, созданная в формате PerfView, сейчас предоставляет более подробные сведения о выполнении формата ER. В Microsoft Dynamics 365 Finance версии 10.0.4 (июль 2019 г.) эта трассировка также может включать сведения о выполненных запросах SQL в базу данных приложения.
Настройка параметров пользователя
Перейдите в раздел Администрирование организации>Электронная отчетность>Конфигурации.
На странице Конфигурации в области действий на вкладке Конфигурации в группе Дополнительные параметры выберите Параметры пользователя.
В диалоговом окне Параметры пользователя в разделе Трассировка выполнения задайте следующие параметры:
- В поле Формат трассировки выполнения выберите PerfView XML.
- Установите для параметра Сбор статистики запроса значение Да.
- Для параметра Отслеживать запрос задайте значение Да.
Выполнение формата электронной отчетности
Повторите шаги из раздела Выполнение формата электронной отчетности выше в этой статье, чтобы создать новую трассировку производительности.
Обратите внимание, что веб-браузер предлагает ZIP-файл для загрузки. Этот файл содержит трассировку производительности в формате PerfView. Затем можно воспользоваться средством анализа производительности PerfView, чтобы проанализировать сведения о выполнении формата электронной отчетности. В данный момент трассировка включает в себя подробные сведения о доступе к базе данных SQL во время выполнения формата ER.