一句话:提出 PerformanceHat,将生产剖析信息构建为增量更新的全局性能模型并集成进 IDE,近实时预测生产性能影响。
由于开发与生产环境存在差异,许多软件性能问题只有在进入生产后才被发现。本文提出 PerformanceHat,利用生产执行中的剖析信息构建全局性能模型,并将其集成到交互式开发环境中;随着开发环境中的代码变更,系统能增量更新该模型,从而近乎实时地预测变更对生产性能的影响。作者将其实现为 Eclipse 插件,并通过一项有 20 名专业软件开发者参与的受控实验进行评估,开发者使用该方法和基线工具 Kibana 完成多项维护任务。结果表明,使用 PerformanceHat 的开发者能显著更快地发现性能问题并定位其根因,说明该方法有助于在问题在生产中显现之前进行检测、预防和调试。
Because of differences between development and production environments, many software performance problems are detected only after software enters production. We present PerformanceHat, a new system that uses profiling information from production executions to develop a global performance model suitable for integration into interactive development environments. PerformanceHat's ability to incrementally update this global model as the software is changed in the development environment enables it to deliver near real-time predictions of performance consequences reflecting the impact on the production environment. We implement PerformanceHat as an Eclipse plugin and evaluate it in a controlled experiment with 20 professional software developers implementing several software maintenance tasks using our approach and a representative baseline (Kibana). Our results indicate that developers using PerformanceHat were significantly faster in (1) detecting the performance problem, and (2) finding the root-cause of the problem. These results provide encouraging evidence that our approach helps developers detect, prevent, and debug production performance problems during development before the problem manifests in production.