我们有一个由 C++ 和 Java 部分组成的产品。C++ 的东西是使用 make 构建的,java 项目由一些 ant 项目和一些 maven2 项目组成。
我正在寻找一种工具,可以帮助我随着时间的推移从构建系统中获取有用的指标。例子包括
* Total build time
* C++ project build time
* Java build time
* Number of compiler warnings
* Number of unit tests (run/passed/failed/errors). (Tests are written in cxxTest and JUnit)
* Acceptance test metrics (run/passed/failed/errors)
* Total number of files
* LOC (to keep the managers happy)
我可能会想到很多其他指标,但你明白了。
为一次性报告获取这些指标非常简单。我真正需要的是一个简单的工具,可以让我随时间绘制这些指标。
一个非常有用的简单用例是编译器警告,因为我们可以看到警告的数量随着时间的推移趋向于零。(我们不能一次解决所有问题,因为这是一个相当大的项目,我们只是没有时间采取大爆炸的方法)。它还可以帮助我们在引入新警告时快速发现它们。
我已经看过这个问题Monitoring code metrics in Java over longer time period,但我正在寻找更多与语言无关的东西
所以,总结一下。我正在寻找可以随时间报告指标的东西,它易于扩展,具有基于 Web 的报告 gui,而且价格便宜。(要求不高啊!)
编辑:为了清楚起见,我们使用 CruiseControl 作为我们的 CI 服务器。我只是还没有看到一种简单的方法来将指标或基于时间的指标添加到它的输出中。也许我错过了一些明显的东西。我似乎在这个页面上添加了自定义指标,但对我来说有点笨拙。
理想情况下,我希望以简单的格式将指标写到文件中,并让某些东西动态生成指标。理想情况下,我想把下面的输出变成一个简单的图表
构建 ID | 建造时间 | 公制 | 值
00000001 10:45 TestPassRate 95
00000001 10:45 BuildTime 300
00000001 10:45 C++BuildTime 200
00000001 10:45 JavaBuildTime 50
00000001 10:45 TestTime 50
00000002 11:45 ......