« ПредыдущаяНа уровень вышеСледующая »

Сбор и анализ логов по отчетам (выявление долго рассчитываемых привязок и их оптимизация)

Вопрос:

Можно ли каким-то образом получить статистику по тому, сколько времени выполняются какие отчёты и какие именно привязки или операции занимают длительное время при этом? Можно ли также как-то оптимизировать отчёты на основе этой информации?

Ответ:

Да, такая возможность существует. В Business Studio можно включить расширенное логирование процесса формирования отчётов для получения подробной статистики и её дальнейшего анализа.

Чтобы сделать это, cкачайте архив со значением ключа "On,Report,ReportStat" для вашей версии программы из таблицы по ссылке и выполните для него инструкции из статьи Инструкция по прописыванию ключей Debug путем загрузки из предоставляемых файлов реестра.

Теперь при работе Business Studio будет вестись запись дополнительных логов, содержимое которых может помочь при анализе ситуации. Для того чтобы изменения применились, необходимо перезапустить Business Studio (для Business Studio Portal остановить и снова запустить портал кнопками "Остановить" и "Запустить" в окне Business Studio Portal Server соответственно).

После этого, чтобы собрать информацию для анализа, необходимо сделать следующее:

  1. Сформировать те отчёты, которые требуется проанализировать: одиночные отчёты, HTML-публикацию по выбранной пометке/группе или Business Studio Portal.
  2. Собрать логи. Логи пишутся в файл ReportStat.log в папку [Мои] Документы\Business Studio <версия>\<дата_и_время_запуска_bs>. Для портала файлы пишутся в папку каждого служебного процесса отдельно, т.е. для портала надо собрать логи по кнопке "Сохранить логи" в окне Business Studio Portal Server или вручную (см. Сбор логов Business Studio Portal вручную), затем из папки каждого из служебных процессов достать этот файл.
  3. Сформировать файл MS Excel для анализа, создав новый документ MS Excel и скопировав в него содержимое файла/файлов ReportStat.log на один лист.
  4. Для удобства дальнейшей работы добавить новую колонку "Этап (кратко)" и настроить формулу для расчёта значений в ней таким образом, чтобы оставалось только первое слово из названия этапа, например, в соответствии с информацией из скриншота ниже.
    Формула со скриншота текстом: =ЕСЛИ(RC[-1]="ShowOrSave";"ShowOrSave";ЛЕВСИМВ(RC[-1];НАЙТИ(" ";RC[-1])))
    Примечание! Для работы формулы необходимо в Параметрах Excel включить опцию "Стиль ссылок R1C1": выберите пункт меню "Файл -> Параметры", в открывшемся окне "Параметры Excel" выберите закладку "Формулы" и в разделе "Работа с формулами" установите галочку напротив опции "Стиль ссылок R1C1".
  5. Полученный файл содержит информацию о длительности каждой из операций, на которые делится формирование отчетов, по каждому из отчётов. Информацию из него можно анализировать как вручную (в случае небольшого количества данных), так и с помощью различных средств упорядочения данных, например, сводных таблиц MS Excel. В последнем случае по всем данных создаётся сводная таблица, которая затем анализируется в нужном разрезе, например, можно узнать, какие отчёты формировались в среднем дольше других, какие привязки в них формировались долго (для анализа информации по привязкам надо рассматривать только строки со значением в колонке "Этап (кратко)" = Binding).

После того, как мы выявили проблемные отчёты или привязки, их нужно проверить на предмет оптимальности структуры и при необходимости оптимизировать в соответствии с рекомендациями из соответствующего раздела Руководства пользователя: Руководство пользователя -> Отчеты -> Оптимизация времени построения отчетов

Внимание!

Чтобы диагностическая информация не копилась на жёстком диске компьютера, после воспроизведения проблемы нужно будет выключить расширенное логирование. Для этого cкачайте архив со значением ключа "(удалить параметр Debug)" для вашей версии программы из таблицы по ссылке и выполните для него инструкции из статьи Инструкция по прописыванию ключей Debug путем загрузки из предоставляемых файлов реестра.

« ПредыдущаяНа уровень вышеСледующая »