我记得在某处看到一篇文章概述了一种巧妙的方法来包装 UniVerse 动词,例如SELECT
,在自定义基本程序中以记录一些指标,例如经过的时间。如果您熟悉那篇文章,简单的答案是分享该链接。
否则,我很欣赏您可以分享的任何示例代码,这些示例代码举例说明了创建此类包装器的正确方法。
我想将一些数据写入文件,并捕获诸如用户、所涉及的文件、执行选择所用的时间以及语句中包含的任何短语之类的内容SELECT
。我计划将此数据发送到另一个系统进行分析和报告,以便我们可以更好地可视化各种选择的执行情况。
感谢您抽出宝贵时间,我期待与您讨论解决方案!
更新!
看到 Van 的回答后,我必须澄清一下,我最感兴趣的是记录语句的处理时间,并收集其他一些纯粹用于记录目的的信息。我的目标是让它透明化,这样我就不会破坏一切或任何东西。
我的逻辑更像这样:
- 语句被触发,包装程序记录当前时间。
- 普通的香草句子由包装器执行。
- 选择完成后,wrapper 再次记录当前时间并记录与开始时间的差异。
- 当我们在这里时,使用各种
SYSTEM(x)
和/或@
值来捕获用户名和记录数。- 使用一些逻辑来解析语句并记录其他有趣的花絮。
- 将感兴趣的值写入一个日志文件,ID 递增。
- 用户或 proc 没有注意到,并像往常一样以选择列表结束(不知何故......在这里插入魔法)
- 其他一些解耦过程将每条记录以常规批次的形式提供给报告系统。
这更有意义吗?