22

我们编写了一个框架来测试我们的 Java 应用程序的性能(现有的框架,例如 JMeter,都不合适)。该框架产生各种指标,例如每秒平均/最小/最大事务。

我们希望每个 Jenkins 构建都显示这些指标,以便我们可以跟踪提交是否提高了性能。

我不知道该怎么做。

一个想法是修改我们的性能测试框架以输出 HTML 文件,然后以某种方式让 Jenkins 在构建结果页面上显示/链接到它。

感激地收到任何建议。

4

3 回答 3

13

性能插件可以以漂亮的图形方式显示 JMeter 和 JUnit 测试的结果。在插件页面上有关于如何使用它的描述。

这是一个托管在GitHub 上的开源插件。JUnit 和 JMeter 解析器已经存在,但是您可以通过子类化来实现自己的PerformanceReportParser。这很容易,您只需分叉存储库并开始实施。

于 2012-02-15T09:24:49.240 回答
7

我同意很难(如果不是不可能的话)将所有信息压缩成标准格式,比如 JUnit。它们有利于快速识别问题。一旦您知道存在问题 - 您需要更多信息,这些信息通常是自由格式或自定义格式以满足您的特定需求。所以我们同时使用:JUnit 可以立即由 Jenkins 处理以确定构建是否稳定,绘制漂亮的趋势图等。我们还生成了一个更详细的 HTML 报告。

现在回答您的直接问题:您可以简单地将 HTML 文件存档为工件(有一个标准的构建后步骤可以做到这一点)。然后将在构建的工件中显示指向它的链接。有最新工件和最新成功构建工件的永久链接:

http://[server]/job/[job_name]/lastCompletedBuild/artifact/foo.html
http://[server]/job/[job_name]/lastSuccessfulBuild/artifact/foo.html

您可以为这些链接添加书签,并可以快速轻松地一键访问您的结果。

于 2012-02-15T11:03:10.393 回答
6

您可以使用HTML Publisher Plugin发布生成的 HTML 页面。那将非常简单。

如果您想要更好的集成,您可以尝试创建遵循 JMeter 生成的相同格式的输出,并使用 Performance Plugin。

为获得最佳效果,您可以接受 Łukasz 的建议并根据您的需要修改性能插件。当然,这需要您付出最大的努力。

于 2012-02-15T11:30:27.493 回答