SQL 代理允许用户添加扩展来执行自定义规范化。 为此,请创建一个 DLL 文件,其中包含由 SQL 代理实施的规范化方案。
应用 SQL 语句规范化程序扩展:
SQL 规范化程序扩展文件的入口点类必须实施 com.wily.introscope.agent.trace.ISqlNormalizer 接口。
创建 DLL 扩展文件包括创建清单文件,该清单文件包含下面步骤 2 中详细介绍的 SQL 规范化程序扩展的特定键。 然而,要使扩展能够正常运行,还需要其他常规键。 这些键是您将要用来构建任意扩展文件的类型。 创建的扩展文件与数据库 SQL 语句文本规范化相关,例如 Backends|{backendName}|SQL|{sqlType}|{actualSQLStatement} 节点下的度量标准。 {actualSQLStatement} 由 SQL 规范化程序进行规范化。
com-wily-Extension-Plugins-List:testNormalizer1
注意:此键的值可为任意值。 在本例中,testNormalizer1 用作示例。 无论您为此键指定何值,请在以下键中使用该值。
com-wily-Extension-Plugin-testNormalizer1-Type: sqlnormalizer com-wily-Extension-Plugin-testNormalizer1-Version: 1 com-wily-Extension-Plugin-testNormalizer1-Name: normalizer1
注意:上述键应当包含规范化程序的唯一名称,例如 normalizer1。
com-wily-Extension-Plugin-testNormalizer1-Entry-Point-Class: <Thefully-qualified classname of your implementation of ISQLNormalizer>
introscope.agent.sqlagent.normalizer.extension
从所创建扩展的清单文件中,将属性设置为 com-wily-Extension-Plugin-{plugin}-Name。 此属性的值不区分大小写。 例如:
introscope.agent.sqlagent.normalizer.extension=normalizer1
注意:这是一个热属性。 更改扩展名称将导致重新注册扩展。
introscope.agent.sqlagent.normalizer.extension.errorCount
有关错误和异常的更多信息,请参阅异常。
注意:如果自定义规范化程序扩展抛出的错误超过了错误限制计数,将禁用扩展。
如果创建的扩展针对某个查询抛出了异常,默认 SQL 语句规范化程序将为该查询使用默认的规范化方案。 发生这种情况时,将记录一条 ERROR 消息,指出扩展抛出了异常,还会记录一条包含堆栈跟踪信息的 DEBUG 消息。 但是,抛出五个此类异常之后,默认 SQL 语句规范化程序将禁用所创建的扩展,并停止尝试将创建的扩展用于将来的查询,直到更改了规范化程序。
如果创建的扩展针对某个查询返回了空字符串,StatementNormalizer 将为该查询使用默认的规范化方案,并记录一条 INFO 消息,指出扩展返回了空值。 但是,返回五个此类空字符串之后,StatementNormalizer 将停止记录消息,但是将尝试继续使用扩展。
|
版权所有 © 2013 CA。
保留所有权利。
|
|