У нас есть продукт, который состоит из частей 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)
Возможно, есть множество других метрик, о которых я мог бы подумать, но вы поняли.
Получить эти показатели для разового отчета довольно просто. Что мне действительно нужно, так это простой инструмент, который позволит мне строить эти показатели с течением времени.
Простым вариантом использования, где это было бы весьма полезно, были бы предупреждения компилятора, поскольку мы могли видеть количество предупреждений, стремящихся к нулю с течением времени. (мы не можем исправить их все сразу, так как это довольно большой проект, и у нас просто нет времени для подхода большого взрыва). Это также поможет нам быстро обнаружить новые предупреждения по мере их появления.
Я видел этот вопрос Мониторинг метрик кода в Java в течение более длительного периода времени , но я ищу что-то немного более независимое от языка
Итак, подведем итоги. Я ищу что-то, что со временем сообщает о показателях, оно легко расширяемо, имеет веб-интерфейс для создания отчетов и желательно дешево. (не спрашивая много да!)
Редактировать: Для ясности, мы используем CruiseControl в качестве нашего CI-сервера. Я просто не видел простого способа добавления метрик или метрик на основе времени к его выводу. Может быть, я упускаю что-то очевидное. Мне показалось эта страница о добавлении пользовательских метрик, но это немного неуклюже для меня.
В идеале я хотел бы записать метрики в файл в простом формате и иметь возможность генерировать метрики динамически. В идеале я хотел бы превратить что-то вроде вывода ниже в простой график
Build Id | Build Time | Metric | Value <br>
00000001 10:45 TestPassRate 95<br>
00000001 10:45 BuildTime 300<br>
00000001 10:45 C++BuildTime 200<br>
00000001 10:45 JavaBuildTime 50<br>
00000001 10:45 TestTime 50<br>
00000002 11:45 ......<br>