6.7动态分析工具
动态分析工具检查软件的运行时行为。通过分析和比较正在运行的程序,它们可以帮助开发人员识别问题并理解流程。 动态分析的目的包括: • 速度测量 • 特定系统组件相对于其他组件的时间测量 • 内存使用量的测量 • 统计分析(单个系统组件的使用频率是多少?)
6.7.1需求和决策标准
• 对运行时行为、内存需求和CPU使用的影响尽可能小 • 结果展示清晰易懂,适合目标群体 • 也适用于分布式系统
6.7.2动态分析工具面临的挑战
• 测量本身会影响系统(在物理学中类似地称为海森堡不确定性原理)。这在并发系统或进程中尤为明显。 • 由于涉及的数据量巨大,动态分析产生的数据很快就变得难以理解。
6.7.3 示例
• AppDynamics (AppDynamics, Inc.) • IBM Security AppScan(IBM) • JBoss Profiler(JBoss 社区) • JProfiler (ej-technologies) • JRat(开源) • Jtest(Parasoft) • Perf4J(开源)
Last updated