跨组件跟踪 (XCT)
跨组件跟踪 (XCT) 注释日志,以便将多个线程、进程甚至服务器服务的请求相关的日志条目标识为属于同一工作单元。
概述
XCT 帮助跨组件确定问题的根源,这提供以下优点:
- 使管理员和支持团队在请求跨越线程或进程边界时或者在堆栈产品与 WebSphere® Application Server 之间行进时可以跟踪从端到端的请求流。
- 有助于解决关于哪个组件是导致请求失败的问题。
XCT 的管理
XCT 是构建到 WebSphere Application Server 日志和跟踪框架中的功能。在启用时,XCT 注释日志,以便将多个线程、进程甚至服务器服务的请求相关的日志条目标识为属于同一工作单元。使用分布式体系结构(例如,面向服务的体系结构)构建的应用程序将从 XCT 中受益,因为 XCT 有助于推动跨不同系统上的多个服务来确定问题。
XCT 不同模式:
- 完全禁用。
- XCT 请求标识添加到现有日志和跟踪记录。
- XCT 请求标识添加到现有日志和跟踪记录并将 XCT 日志记录添加到日志文件。
- XCT 请求标识添加到现有日志和跟踪记录,XCT 日志记录添加到日志文件,并捕获数据快照。
XCT 请求标识:
- XCT 请求标识是添加到服务器配置为使用高性能可扩展日志记录 (HPEL) 时由服务器生成的日志和跟踪记录的标识。
- 无论哪个线程或 Java™ 虚拟机 (JVM) 生成日志或跟踪条目,只要日志或跟踪记录是同一请求的一部分,XCT 都将同一请求标识添加到每个日志或跟踪记录。
- XCT 用于 HPEL 日志和跟踪基础结构时,在以高级格式输出日志时,您可以使用 logViewer 工具来查看请求标识。
以下是日志文件中具有 XCT 请求标识的日志记录的示例(以高级格式呈现和显示):
[3/18/11 14:50:17:391 EDT] 00000018 W UOW= source=com.ibm.somelogger.QuickLogTest org= prod= component=
thread=[WebContainer : 1] requestID=BJrcVPo+Yk4-AAAAAAA8zAA hello world
请注意,先前在单独行中显示请求标识,但是在日志文件中,它实际与日志记录头的其余部分在同一行上。
XCT 日志记录:
- XCT 日志记录一般添加到日志以:
- 区分特定线程上特定请求的工作开始和结束。
- 区分工作何时将转移到另一线程或进程,或者指示工作何时从另一线程或进程返回。
- 区分工作何时在主要组件之间移动(即使工作继续在同一线程上);例如,显示控制从应用程序服务器节点到应用程序代码的转移。
以下是日志文件中 XCT 日志记录的示例:[3/18/11 14:50:17:391 EDT] 00000031 XCT I BEGIN BJrcVPo+Yk4-AAAAAAA8zAA 00000000000-cccccccccc2 HTTPCF(OutboundRequest /index.html RemoteAddress(127.0.0.1) RequestContext(36001645))
- XCT 日志记录包含:
- XCT 类型 (BEGIN / END)
- XCT 父级相关因子标识(例如,00000000000-cccccccccc2)
- XCT 当前相关因子标识(例如,BJrcVPo+Yk4-AAAAAAA8zAA)
- XCT 注释(例如,HTTPCF(OutboundRequest /index.html RemoteAddress(127.0.0.1) RequestContext(36001645))
XCT 工具:
- HPEL logViewer 工具可以按请求标识过滤日志和跟踪记录。
- 在呈现日志和跟踪内容时,工具(例如 IBM® WebSphere Cross Component Trace Logviewer)还可以利用 XCT 日志记录和/或 XCT 请求标识。IBM WebSphere Cross Component Trace Logviewer 可用作 IBM Support Assistant 的工具附件。
XCT 配置:
您可以使用 wsadmin 脚本编制来配置 XCT。