С программой Progress Openedge ABL (ChUI), какой самый эффективный метод для определения времени выполнения? - PullRequest
0 голосов
/ 24 сентября 2018

Для всех, кто просматривает это,

Я пытаюсь определить время выполнения ряда программ с помощью приложения на основе символов Progress Openedge ABL.Изначально я начал с использования функции etime и выхода из нее в виде сообщения.Тем не менее, это очень утомительно, так как вы должны сбросить etime в каждом соответствующем блоке.

Вскоре после этого меня предупредили о способе вывода ряда деталей в пользовательский файл журнала.Это включало STRING (СЕЙЧАС).Это помогает сузить кругозор и делает доступ к меткам времени более удобным для управления.Тем не менее, мне любопытно, есть ли собственный «метод» для определения времени выполнения каждого блока кода, который не так труден?

1 Ответ

0 голосов
/ 24 сентября 2018

На ум приходят два основных варианта: LOG-MANAGER и PROFILER.

LOG-MANAGER похож на то, что вы делаете - он записывает в файлы журнала, которые вы затем анализируете.Возможно, вы захотите использовать тип записи журнала трассировки 4GL.

PROFILER, на мой взгляд, более полезен.Это лучше поддерживается с точки зрения инструментов.PROFILER дает вам микросекунды точной построчной синхронизации.Вы можете использовать его с любым выпуском Progress начиная с 8.2.Существует несколько автономных инструментов анализа, или вы можете использовать инструмент в PDSOE (если он у вас есть).Также не так сложно написать свой собственный.

Оба инструмента могут быть включены с параметрами запуска: LOG-MANAGER использует параметры запуска -clientlog, -logentrytypes и -logginglevel.PROFILER это -profile (или -zprofile в v8).

Или вы можете включать и выключать их и манипулировать свойствами программно с помощью ручек LOG-MANAGER или PROFILER в вашем коде

Оба инструмента имеютмного записей в kbase и частые темы разговоров о PUG, которые подробно обсуждаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...