Intelligent Management 提供二进制跟踪功能 (BTF),该设施允许以对性能影响最小的方式在生产环境中收集跟踪信息。BTF 对客户和开发团队很有用,因为其效率有利于始终保持跟踪的基本级别;因此,通常会在问题第一次发生问题时捕获诊断该问题所需的数据。
关于此任务
二进制跟踪功能 (BTF) 是基于规则的设施,可根据运行时检测到的条件启用深层次的跟踪功能。BTF 可:
- 使用缺省情况下生成的跟踪数据。
- 使用单元定制属性可捕获其他调试信息,但不会影响您的性能。
避免故障: 不要修改
trace-cfg.xml 文件语法。但是,使用单元定制属性可控制 BTF。
trace-cfg.xml 包含由跟踪功能使用的初始跟踪支持设置。装入后,JVM 不会再装入
trace-cfg.xml。
gotcha
避免故障: 如果重新启动服务器,那么所有
btrace 文件均将消失并从头开始重新生成。
gotcha
跟踪命令有两个主要参数:
- “read”参数:
- 读取 BTF 文件并显示该文件。
- “info”参数:
- 显示有关要打印的信息类型的信息。
有关更多信息,请阅读“二进制跟踪功能定制属性”。
过程
- 将由 BTF 生成的二进制跟踪文件转换成用户可读形式。从 app_server_root/bin/trace 目录运行下列命令:
app_server_root/bin/trace read <logDirectory> [<traceSpec>]
- <logDirectory>
- 指定到服务器日志目录的路径。
- <traceSpec>
- 指定跟踪规范,这是一个由逗号分隔的元素列表,格式为 <groupOrRecord>[<:traceLevel>],其中 groupOrRecord 指定组或记录的名称,traceLevel 标识要调试的级别(如按组或记录所定义)。
- -filePrefix
- 指示要提供的非缺省跟踪文件前缀名称。
- <prefix>
- 指定跟踪文件前缀名称。缺省值是 btrace
例如,要读取所有记录的当前目录中的
btrace 文件,请运行以下命令:
app_server_root/bin/trace read .
要从当前目录日志的 http 组中查看所有
btrace,请往下查看级别 2 跟踪,运行以下列命令:
app_server_root/bin/trace read . http:2
- 要获得可跟踪的所有内容的描述,请运行以下命令:
app_server_root/bin/trace info [<groupOrRecordOrFieldName>] [-depth <maxDepth>]
- <groupOrRecordOrFieldName>
- 指定需要信息的组、记录或字段的名称。
- -depth
- 指示要提供的最深层结构。
- <maxDepth>
- 您指定的深度将包括提供的初始自变量的指定深度内的所有组、记录和字段。
- 使用该字段描述符可限制输出,且使用 -depth 通过限制过滤器应该达到的层次结构的深度可进一步优化该输出。如果您没有指定最大深度,那么会显示所有信息。
例如,有关
http.request 组(但并非更深层次)的信息,请运行以下命令:
app_server_root/bin/trace info http.request -depth 1