WEB开发网
开发学院软件开发Java IBM 的 Java 诊断,第 4 部分: 使用分析模块扩展 ... 阅读

IBM 的 Java 诊断,第 4 部分: 使用分析模块扩展 IBM Dump Analyzer for Java

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示:本系列的第一篇文章 介绍了 IBM Dump Analyzer for Java(或者Dump Analyzer),您已经了解了它的功能、如何获取以及运行方式,IBM 的 Java 诊断,第 4 部分: 使用分析模块扩展 IBM Dump Analyzer for Java,在开始这篇文章之前,您应该温习一下上一期的文

本系列的第一篇文章 介绍了 IBM Dump Analyzer for Java(或者Dump Analyzer)。您已经了解了它的功能、如何获取以及运行方式。在开始这篇文章之前,您应该温习一下上一期的文章,确保您已经完全理解了 Dump Analyzer 的工作原理。

Dump Analyzer 工具的一个关键方面是它具有可扩展性。它是由一组分析模块 组成,每个模块负责对转储的一个特定方面进行分析,并帮助诊断特定类型的问题。本文将逐步说明如何编写新的分析模块以及如何在 Dump Analyzer 内部运行它。

概述

Dump Analyzer 的构建基础是 Diagnostic Tooling Framework for Java(DTFJ),后者是 IBM 的 Java 平台实现的一部分。如果您想要编写一个 Dump Analyzer 分析模块,您应当熟悉 DTFJ。

Dump Analyzer 工具的目标就是提供一种已经基本构建完成的环境,供特定的分析模块在其中运行。首先,JVM 必须已经生成了系统转储并且使用 jextract 工具进行了格式化。Dump Analyzer 首先选择一个合适的映像工厂(将读取格式化后的转储),然后再读取文件来创建描述内存内容的 DTFJ Image 对象。随后为转储中的每个 Java 运行时构建独立的分析上下文。最后,选择一个特定分析模块在这些上下文中运行。

分析模块在运行时会访问全部的 Image,但它主要针对它所分析的特定 Java 运行时进行访问。此外,它将利用各种不同的工具来生成报告、报告进程和错误。也可以使用很多实用类来简化分析程序的编写。随着时间的推移,我们的团队期望在编写分析程序和分离有用基础架构时能够提供更多的实用类。

您可能需要构建三种类型的分析模块。第一种模块将运行并得出关于所分析的运行时内容的结论。结论类似于 “the JIT is active”、“there are deadlocks”、“this dump was caused by an application error” 或 “this dump contains WebSphere® classes”。第二种类型生成一个报告描述有关 Image 内容的详细信息。在尝试诊断应用程序故障时可以使用这些报告。当然,这些报告会包含有关潜在错误的警告消息并列出转储内容。这两种类型的模块都应使用 Java 语言编写,本文将使用术语分析程序(analyzer)指代任意类型的分析模块。

1 2 3 4 5 6  下一页

Tags:IBM Java 诊断

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接