In GitHub with its 518 million hosted projects, performance changes within these projects are highly relevant to the project's users. Although performance measurement is supported by GitHub CI/CD, performance change detection is a challenging topic. In this paper, we demonstrate how we incorporated Nyrki\"o to MooBench. Prior to this work, Moobench continuously ran on GitHub virtual machines, measuring overhead of tracing agents, but without change detection. By adding the upload of the measurements to the Nyrki\"o change detection service, we made it possible to detect performance changes. We identified one major performance regression and examined the performance change in depth. We report that (1) it is reproducible with GitHub actions, and (2) the performance regression is caused by a Linux Kernel version change.
翻译:在托管5.18亿个项目的GitHub平台上,项目内部的性能变化对其用户具有高度相关性。尽管GitHub CI/CD支持性能度量,但性能变化检测仍是一个具有挑战性的课题。本文展示了如何将Nyrkiö集成至MooBench。在本工作之前,Moobench持续运行于GitHub虚拟机,用于追踪代理的开销测量,但缺乏变化检测功能。通过将测量结果上传至Nyrkiö变化检测服务,我们实现了性能变化的自动检测。我们识别出一个重大性能回归问题,并进行了深入分析。实验表明:(1)该问题可通过GitHub Actions复现;(2)性能回归由Linux内核版本变更导致。