КПЭ использования кода

Покрытием кода языка программирования CONTROL можно:

  • определять то, какие части кода сценариев и библиотек были действительно выполнены (прогнаны)
  • выполнять подсчет частоты исполнения выражения
  • оценивать эффективность сценария

Производительность кода

Необходимо использовать флаг формирования отчета «CTRL_COVERAGE«. Результаты, обозначающие абсолютное число исполнений на функцию, сохраняются в XML файле. Выражение считается построчно. Интерпретатор языка программирования CONTROL не может различать несколько выражений в строке.
Файл отчета необходимо определять (например, -coveragereportfile coverage.xml -report CTRL_COVERAGE). Данное выражение возвращает статистические данные на момент запуска менеджера. Пользовательский интерфейс может только считывать полный, синтаксически правильный XML файл.

В случае необходимости перезаписи существующего файла отчета (*.xml), нужно использовать следующие символы-заполнители. Если имя файла отчета покрытия (-coveragereportfile) содержит эти символы-заполнители, они заменяются следующим образом:

$DATE$ ==> ггггммдд

$TIME$ ==> ЧЧММСС

$MAN$ ==> Имяменеджера

Производительность

Для оценки производительности необходимо использовать флаги формирования отчетов «-dbg ctrl_perf» или «-report ctrl_perf«, соответственно.

Информацию о производительности предоставляют следующие атрибуты:

  •  perfTime — время в интерпретаторе
  •  perfTimeDependent — период времени, включая вызванные в интерпретаторе функции
  •  perfBlockedTime — время ожидания (напр., для ответа «dpGet()»)
  •  perfBlockedTimeDependent — аналогично предыдущему, но с учетом вызванных функций
  •  perfCount —  количество вызовов во время оценки производительности

ПРИМЕЧАНИЕ

Информацию о периодах времени можно сбросить, используя флаг формирования отчетов «-report ctrl_perf,reset».

Результаты формируются только если «perfCount» или «perfTime» не равны 0. Таким образом, без оценки производительности общий отчет не изменяется. Но, кроме того, при выполнении оценки производительности, не каждый оператор имеет атрибут «time» в отчете покрытия.

Оцениваются только функции, написанные в CTRL.

Строки сценария, которые занимают более 50% времени одной функции, в сценарии выделяются темно-зеленым цветом — учитываются только те функции, которые состоят из более чем двух определений.

Чтение файла можно осуществлять редактором сценариев File (Файл) -> Load Code Coverage Report (Загрузка отчета покрытия кода). Выполненные части обозначены зеленым цветом, не выполненные части обозначены красным цветом. Если функция не была выполнена вообще, выделения цветом отсутствуют. Выделения цветом можно удалять с помощью меню View (Вид) -> Remove Coverage Markers (Удалить маркеры покрытия).

При помощи дополнительной опции командной строки «-dumpCoverageOnExit» в менеджере сценариев, отчет покрытия записывается при остановке менеджера, независимо от того, записывался ли отчет до этого. Для возврата данных покрытия панелей необходимо использовать флаг отчета «-report CTRL_COVERAGE». Возвращать данные покрытия для панелей при помощи опции командной строки «-dumpCoverageOnExit» не представляется возможным.

ВНИМАНИЕ!

Сценарии панели корректно сохраняются в XML файле. Тем не менее, редактор сценария не может осуществлять считывание данных этого отчета покрытия кода. Редактор сценариев способен считывать только отчеты покрытия кода библиотек и сценариев, но не панелей.

ПРОЦЕСС ОПРЕДЕЛЕНИЯ ПОКРЫТИЯ КОДА С ПОМОЩЬЮ МЕНЕДЖЕРА СЦЕНАРИЕВ

  1. Добавить на консоль новый менеджер сценариев проекта, который должен осуществить загрузку определенного сценария (опция командной строки: <наименование сценария>.ctl).
  2. Инфицировать запуск менеджера сценариев.
  3. Используя комбинацию клавиш Ctrl+D установить менеджеру сценариев t параметры отладки coveragereportfile coverage.xml -report CTRL_COVERAGE.
  4. Открыть сценарий в редакторе сценариев.
  5. Выполнить загрузку отчета покрытия кода (coverage.xml) при помощи пункта меню редактора сценариев File (Файл) -> Load Code Coverage Report (Загрузить отчет покрытия кода) . Этот отчет находится в каталоге журналов регистрации проекта.
  6. Сценарий автоматически будет отображен в редакторе сценария с тем или иным выделением цветом.
  7. В файле отчета (coverage.xml) можно получить информацию о частоте выполнения оператора.

Содержание файла отчета (* .xml) удаляется перед записью нового отчета покрытия кода. Если необходимо, чтобы это не происходило, используются символы-заполнители (см. описание символов-заполнителей в начале этого раздела).

ПРИМЕЧАНИЕ

Переменные, объявленные и инициализированные в той же строке (например, int i = 60), не будут помечены, даже если они были выполнены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *