对于任何对此有看法的人
我正在尝试使用基于Progress Openedge ABL字符的应用程序来确定许多程序的运行时间。最初,我开始使用etime函数并将其作为消息注销。但是,这非常繁琐,因为您必须在每个相应的块中重置etime。
此后不久,我被提醒一种将大量详细信息输出到自定义日志文件的方法。其中包括STRING(NOW)。这有助于缩小范围,并使访问/记录时间戳变得更易于管理。但是,我很好奇是否存在一种本机的“方法”来查找每个代码块的运行时间,这些代码不是那么艰巨吗?
答案 0 :(得分:2)
想到的两个主要选项是LOG-MANAGER和PROFILER。
LOG-MANAGER与您正在执行的操作类似-写入您随后分析的日志文件。您可能需要4GL Trace日志条目类型。
我认为PROFILER更有用。从工具的角度更好地支持它。 PROFILER为您提供精确到微秒的逐行计时。自8.2起,您可以将其用于任何Progress版本。有几种独立的分析工具可用,或者您可以使用PDSOE中的工具(如果有)。编写自己的东西也不难。
可以使用启动参数启用这两个工具:LOG-MANAGER使用-clientlog,-logentrytypes和-logginglevel启动参数。 PROFILER是-profile(或v8中的-zprofile)。
或者您可以使用代码中的LOG-MANAGER或PROFILER手柄打开/关闭它们并以编程方式操纵属性
这两个工具都有大量的kbase条目,并且是涉及到血腥细节的PUG演讲的常见主题。