上一主题: 使用应用程序分类视图查看哪个应用程序已启动并正在运行下一主题: CA CEM 方案


动态检测:使用事务跟踪器添加、删除和导出检测

Tandav 是 Mastery Medical Corp. 的应用程序支持专家。 Tandav 需要对 Master Physician 应用程序进行分类,该应用程序在 WebLogic 上运行,它使得 Mastery Medical 保持市场领先地位。 这意味着他需要能够深入了解 Master Physician 应用程序的工作方式,并且能够查看与 Master Physician 应用程序事务关联的方法。 使用 Introscope 和 CA Application Performance Management for SOA (CA APM for SOA),Tandav 监控 Master Physician 生产应用程序并进行紧急情况生产调查。 此外,Tandav 需要快速测试预生产 Master Physician 测试应用程序中即将进行的配置更改。

在监控 Master Physician 应用程序的同时,Tandav 导航到调查器应用程序分类视图上的 Master Physician 应用程序图标。 他可以清晰地看到一些箭头,这些箭头表明 Master Physician 应用程序与 WebLogic Medical Records 应用程序对话,而后者又与 Physician Web Services 应用程序以及数据库对话。 Tandav 还注意到有一个 Master Physician 业务服务。

由于 Medical Records 应用程序速度很慢,因此 Tandav 右键单击其图标以查看其运行状况度量标准。 他查看了“应用程序位置”列表中跨所有代理聚合的平均响应时间。 Tandav 认为列表中的其中一个代理可能有问题,因此双击了列表中该代理的名称。 Introscope 自动跳转到度量标准浏览器树中的 WebLogic 代理,并显示有关 Medical Record 应用程序节点的数据。 在查看器窗格中,Tandav 单击“跟踪”选项卡,并注意到没有此代理的任何事务跟踪。 他转到“Workstation”菜单,选择“新建事务跟踪会话”,选择参数以跟踪持续时间超过 1 秒以跨所有代理捕获所有内容的任何事务,然后单击“确定”。 Tandav 现在正跟踪经过 Medical Records 应用程序的事务。

Tandav 观看第一个事务跟踪会话,注意到 Physician 业务事务是点击许多方法和类然后转到 SOA 调用的跨进程调用。 Tandav 发现这一点很有趣,并希望获取有关“调用”方法的更多信息,因此单击了显示该调用的“事务跟踪”带区。 当显示“查看所有调用的方法”菜单时,Tandav 查看了调用特定方法的特定类。 他在方法列表中向下滚动,选择“调用”方法,然后单击“添加检测”。 他使用相同的步骤检测 JVM 中的“Web 服务摘要”类。

在新的业务事务经过 JVM 时,Tandav 打开事务跟踪,现在他看到对两个动态检测的新类和方法的调用。 他注意到可以轻易看到这些,因为事务跟踪中的“调用”方法和“Web 摘要”类带区呈绿色。 此外,在带区的左侧,有一个表示临时检测状态的新图标。 这意味着检测暂时加载到 Java 代理的内存中。 Tandav 知道当他关闭“事务跟踪”窗口时,此临时动态检测将消失。

这引起了 Tandav 的兴趣,他进一步了解新的动态检测功能。 他单击临时“调用”方法的“事务跟踪”带区,选择“将临时检测添加到所有 (可检测的) 调用的方法中”。 在另一个业务事务经过时,Tandav 又看到一个新方法,即“从 Web 服务器 Stub 对象调用”方法。

通过 Introscope,Tandav 还可以轻松地将新检测的类和方法另存为永久检测。 Tandav 单击“为 Web 服务器 Stub 对象调用”方法的“事务跟踪”带区,然后选择“使检测永久”。 现在 Physician 业务事务经过时,Tandav 在“事务跟踪”上看到仍可使用临时动态检测找到的类和方法以及永久检测的对象。 Tandav 注意到在“事务跟踪”中的“为 Web 服务器 Stub 对象调用”方法带区不再显示临时检测状态图标。

Tandav 导航到度量标准浏览器树,右键单击“WebLogic 代理”节点,然后选择“更改动态检测级别”。 使用此功能,Tandav 可以对自己创建的整组方法和类打开或关闭动态检测。 通过阅读《CA Application Performance Management Java 代理实施指南》,Tandav 知道启用和禁用预定义的组以便执行快速诊断尤其有用。

之后,已在预生产环境中工作的 Tandav 通过将最近的检测更改复制到 Mastery Medical 生产环境中,做好了导出这些更改的准备。 Tandav 转到度量标准浏览器树,然后单击“WebLogic 代理”节点。 然后 Tandav 单击鼠标右键并选择“导出所有检测”,他知道也可以选择导出单个方法和类。 Tandav 单击“确定”之后,Introscope 将创建一个新的 ProbeBuilder 指令 (PBD) 文件,告知代理要在特定 JVM 中监控的确切内容。

Tandav 将新的 PBD 保存到桌面,然后打开该文件以查看更改,再将 PBD 投入生产。 Tandav 对他的同事 Jane 说,如果使用 Introscope 动态检测,他不需要重新启动一次受监控的应用程序。 现在,他对 Master Physician 应用程序进行分类的速度更快了。