当前位置: 首页 > 知识库问答 >
问题:

GitHub或GitLab CI中每次提交的性能信息

空正豪
2023-03-14

我正在使用GitLab主持一个以性能为主要关注点的项目。我目前有一些测试断言某些任务在给定的时间内完成。

我想扩展我的 CI 配置,以衡量特定提交或拉取请求如何影响性能,并以方便的格式(图表、提交时的性能变化等)提供信息。

基本上,我想要相当于 coveralls.io,除了性能而不是覆盖范围。

我对GitHub或GitLab上的所有解决方案都感兴趣。

请注意,这个问题不是关于如何在CI中进行性能测试,而是关于以一种方便的方式呈现获得的数据。

共有1个答案

庄瀚玥
2023-03-14

GitHub或GitLab只是源代码管理托管服务,我的期望是你需要一个软件来协调构建,也就是说:

  1. 通过提交挂钩获取源代码
  2. 构建源代码
  3. 运行测试
  4. 发布工件

这通常由CI服务器完成,如果您没有一个 - 您将需要选择它,如果您没有更好的候选人 - 我建议您选择Jenkins,这是某种形式的行业标准。

Jenkins拥有性能插件,可以为以下格式构建性能趋势图表:

  • JMeter XML和CSV格式,也是Summarizer日志输出
  • Taurus Tool Final Stats XML(通过它,您可以发布来自JMeter、Gatling、Grinder、Siege、ab、Selenium和许多其他公司的摘要)
  • JUnit格式(例如由SoapUI使用)
  • 推特的伊阿古
  • WRK

因此,如果您的html" target="_blank">测试以上述格式之一生成结果,您将能够得到如下图表:

此外,您还可以根据不同的标准(%的错误、响应时间超过阈值、当前的构建结果比以前的更差,等等)有条件地将构建标记为失败

 类似资料:
  • 我已经使用GitHub API进行了自动提交 为此,我使用了Kohsuke的Java库,它与以下API命令配合使用: 但是,是否可以在每个GitHub API的一次提交中包含多个文件?

  • 在 CRUD 章节,我们已经知道 ES 的数据写入是如何操作的了。喜欢自己动手的读者可能已经迫不及待的自己写了程序开始往 ES 里写数据做测试。这时候大家会发现:程序的运行速度非常一般,即使 ES 服务运行在本机,一秒钟大概也就能写入几百条数据。 这种速度显然不是 ES 的极限。事实上,每条数据经过一次完整的 HTTP POST 请求和 ES indexing 是一种极大的性能浪费,为此,ES 设

  • 问题内容: 优化SQLite是棘手的。C应用程序的大容量插入性能可以从每秒85次插入到每秒96,000次以上插入! 背景:我们正在将SQLite用作桌面应用程序的一部分。我们将大量配置数据存储在XML文件中,这些文件会被解析并加载到SQLite数据库中,以便在初始化应用程序时进行进一步处理。SQLite非常适合这种情况,因为它速度快,不需要专门的配置,并且数据库作为单个文件存储在磁盘上。 基本原理

  • 问题内容: 我想要一个脚本,每当我单击“提交”按钮时,该脚本就会将表单中的文本回显到div标签。 我能够立即执行此操作,但是我希望即使我提交另一个文本,文本也仍会显示在div中。我希望每个新提交的文本都创建一个列表。将其添加到上一个列表。 可能与数据库有关,但我想知道,每次单击提交时,我只会得到当前提交的文本。 这样的脚本的例子 我只想在每次单击提交时将条目添加到列表中。 问题答案: 我很高兴你玩

  • 本文向大家介绍Git 好的提交信息,包括了Git 好的提交信息的使用技巧和注意事项,需要的朋友参考一下 示例 对于一个遍历的人来说,重要的是git log要容易地理解每个提交的含义是很重要的。良好的提交消息通常包括跟踪器中的许多任务或问题,以及对完成的内容,原因以及有时的完成方式的简要说明。 更好的消息可能看起来像: 而以下消息将不太有用: 测试提交消息是否以正确的心情进行测试的一种方法是用消息替

  • 我们在每次本地提交时都会遇到此错误: Git失败,出现致命错误。错误:打开(“.vs/XXXXXX.Dev.Library/v15/Server/sqlite3/db.lock”):权限被拒绝致命:无法处理路径。vs/XXXXXX。Dev.Library/v15/Server/sqlite3/db。锁 这是一个全新的VS2017安装,使用本地git存储库,然后才能同步到Azure DevOps g