aboutsummaryrefslogtreecommitdiffstats
Performance Milestone
=======================


The project aims to have a graphical overview over the build performance test: https://wiki.yoctoproject.org/wiki/Performance_Test
The live charts can be viewed at https://wiki.yoctoproject.org/charts/perf_milestone/performance_test.html


Prerequisites
============

We need data from two (Hardware identical) machines that run build performance.

The data is generated via csv format: 
fedora19,master:c7e614c438706fb3ed7520b4990ebb3973366942,uninative-1.0-169-gc7e614c,1:30:12,7:27.00,1:25:31,3:23.66,0:27.07,0:17.69,0:01.78,4:28.30,25590480,5405308,1279889,4769608
fedora19,master:c7e614c438706fb3ed7520b4990ebb3973366942,uninative-1.0-169-gc7e614c,1:30:01,7:27.26,1:25:44,3:24.37,0:27.04,0:17.68,0:01.92,4:11.60,25588624,5405368,1280057,4769776
fedora19,master:c7e614c438706fb3ed7520b4990ebb3973366942,uninative-1.0-169-gc7e614c,1:30:29,7:23.39,1:25:26,3:24.23,0:27.30,0:17.80,0:01.78,4:51.89,25588940,5405428,1279918,4769694


The first entry is the machine name, followed by the branch:commit info, the git-describe info, and then followed by all the measurements


How to add new entries to the charts
=====================================
The charts require the csv format shown above.
The scripts that generate the charts won't work if other branch is listed than master. e.g:  jethro:2718e843b3502afa1e21510bb6b9c4720f75124c. The scripts just won't work. In the case of testing other branches than master, you need to replace the branch name with master.

To display correctly the entries, we use the git-descirbe field. Since it may not be updated, this field also must be replaced. e.g. replace:
uninative-1.0-169-gc7e614c

with:
yocto_2.2_M1.rc1

this will ensure a correct represntation of what the data shows.


If the build performance test failed for some reason, the data will show 0 instead of the actual time. e.g.:
fedora19,master:c7e614c438706fb3ed7520b4990ebb3973366942,uninative-1.0-169-gc7e614c,0,0,0,3:24.23,0:27.30,0:17.80,0:01.78,4:51.89,25588940,5405428,1279918,4769694

This will cause the chart generating scripts to fail. run ./clean-csv.py file to delete the lines with "0" times:

	Usage: ./clean-csv.py <input_file> <output_file>

To create charts for all the measurements run the following script:

	$ ./run_jgen.sh

it will create all the graphs for the following tests:
	bitbake core-image-sato 
	bitbake core-image-sato -c rootfs 
	bitbake core-image-sato (rm_work) 
	bitbake -p 
	bitbake virtual/kernel 
	bitbake -p (rm -rf cache/ tmp/cache/) 
	bitbake -p (rm -rf tmp/cache/) 


To update a chart for only a measurement, you need to call the jgen.sh script:
	$ ./jgen.sh
	Usage:  jgen.sh [-h]
			jgen.sh [-v <value>] [-f <file1> <file2>]

	Options:
			-h
					Display help.
			-f <file1> <file2>
					Use <file> as input file. The <file> must be in *.csv format.
			-v <value>
					Value for type of build. Value reference:
							 3 - bitbakecore-image-sato
							 4 - bitbake virtual/kernel
							 5 - bitbake core-image-sato (rm_work)
							 6 - bitbake core-image-sato -c rootfs
							 7 - bitbake -p (rm -rf cache/ tmp/cache/)
							 8 - bitbake -p (rm -rf tmp/cache)
							 9 - bitbake -p
							10 - size of tmp dir
							11 - size of tmp dir (rm_work)


To upload the charts, a web server needs to be installed.
To upload them to the www.yoctoproject.org, please contact michael@yoctoproject.org for access and instructions.