诊断提供程序可扩展标记语言
对于诊断提供程序 (DP) 可扩展标记语言 (XML) 声明,需要遵守一些约定。
下列准则帮助您在使用诊断提供程序 (DP) 时保持一致。
- 在每个 DP 声明可扩展标记语言 (XML) 文件的开头包括诊断提供程序的文档类型定义 (DTD)。
- 所有名称和名称段都以小写开头。对于属性名,使用大小写混合。即,除第一个字母外,名称中所有词的首字母大写。例如,traceCollectionSpec。
- 用短划线表示层次结构。因为属性名是正则表达式,所有短划线比点好一些。例如,traceService-traceCollectionSpec。
- 使用星号 (*) 表示属性名中的字符串动态部分。例如,
vhosts-.*-webgroups-.*-webapps-.*-listeners-filterInvocationListeners
它将与 vhosts-someHost-webgroups-someGroup-webapps-someApp-listeners-filterInvocationListeners 匹配 - 使用 [0-9]* 表示属性名的数字动态部分。例如,
vhosts-index-[0-9]*
它将与 webcontainer-vhosts-index-123 匹配 - 如果拥有在运行时不会明显影响性能的通用自诊断测试,那么将它命名为 general。
configDump 实现的一些技巧
- configDump 应包含用来定义组件的环境的信息。一些示例为:
- 由 Java™ 管理扩展 (JMX) 设置的配置数据
- 系统属性、xml 文件和属性文件中的配置
- 代码中的硬连和静态配置信息(例如,如果资源适配器实现接口 X,或者有某个静态最终字段 Y,那么这些配置信息可指示配置的某些方面并可包含在 configDump 中)。
- configDump 不应包含动态注册的属性,例如:
- 已注册记录器列表(它属于 stateDump)
- 应用程序中的 servlet 列表(它属于 stateDump)。
- configDump 应分为两个部分 - startup 和 current。
- 所有 configDump 属性都必须以 startup- 或 current- 开头。
- startup 部分详细说明在启动时组件的环境。Startup configDump 属性以 startup- 开头。
- current 部分详细说明请求 configDump 时组件的环境。Current configDump 属性以 current- 开头。
configDump 的最佳实践
- 使用属性层次结构与组相关的属性(如,对于有关 traceLog 的两个属性:startup-traceLog-rolloverSize=20 和 startup-traceLog-maxNumberOfBackupFiles=1)
- 对于指 startup 属性中的相同内容的 current 属性列表中的信息,current 和 startup 属性的名称应该匹配。
- 如果某个属性在启动之后就没有任何作用了,那么只在 startup 部分中显示此属性(例如,某个配置属性,其中包含可从中读取启动数据的文件名)。