Plotting arbitrary data for repository
I’m looking for a way to visualize arbitrary information about my repository over time, which might be some version-dependent number, such as:
- lines of code
- number of lines in a latex document
- time between commits
- anything that can be output by a script
What is the best way to visualize this information?
More specifically, I’m using mercurial and would ideally like something with a decent interface, with plot resizing/scrolling/etc… Jenkins’ plot plugin is decent but not great, but more importantly it’s not possible to visualize past data (say, after adding a new metric).
One Solution collect form web for “Plotting arbitrary data for repository”
I would suggest to split your task to simplify everything a little bit. It is likely you will need several different tools in order to collect and visualize all required information. Historical view seems to be another big challenge.
Lines of code
There are several plugins available for Jenkins, but almost all are highly specialized. SLOCCount plug-in seems to be most universal, but it does not provide any graphical output.
- NSIQ Collector Plugin
- SLOCCount plug-in
- JavaNCSS Plugin
There might be some other option for your language. For example, CCCC will provide required information for C and C++ code:
Number of lines in a latex document
I see several options to achieve that:
- adapt existing solution/plugin
- use repository statistics tool (Pepper, for example, can do the trick)
- use simple shell script to count lines and report it
Pepper will generate something like the following:
Please check Pepper gallery. There are another tools, for example: hgchart
Time between commits
The simplest solution is to let a commit to trigger some trivial job, so Jenkins will provide all information as part of build history (with a timeline, etc).
Another solution is to use repository statistics tool once again:
Anything that can be output by a script
There are several good plug-ins for that.
- Plot plugin can visualize multiple values provided as properties or csv file.
- Measurement Plots Plugin scans the output in order to find values to be visualized
Happy continuous integration.