File:Kernel patches stats.png

From OpenVZ Virtuozzo Containers Wiki
Revision as of 14:21, 17 April 2008 by Kir (talk | contribs) (assigned to category:development)
Jump to: navigation, search
Original file(1,600 × 1,200 pixels, file size: 52 KB, MIME type: image/png)


Description

This graph shows how many patches from OpenVZ developers were merged into mainstream Linux kernel, per each kernel version.

It is drawn by gnuplot using the data set obtained from kernel git repository.

Source code

Collect data

Here is the script to produce the data for the graph:

#!/bin/sh

latest=$(git tag | grep -v -- -rc | tail -n1 | sed -e 's/^.*\.\(.*\)$/\1/')
((latest++))

get_tag_date() {
        echo $(git show $1 | egrep ^Date: | head -n1) |
                sed 's/^Date: ... \(.*\) [-+]....$/\1/' |
                sed 's/ ..:..:..//' | sed 's/ /-/g'
}

for f in $(seq 13 $latest); do
        v1=v2.6.$((f-1))
        d1=$(get_tag_date $v1)
        if [ $f = $latest ]; then
                v2="HEAD   "
        else
                v2=v2.6.$f
        fi
        d2=$(get_tag_date $v2)
        echo -n $d2 $v2 " "
        git log --pretty=short --no-merges $v1..$v2 | grep 'Author:' | egrep \
                '@openvz.org|@parallels.com|@sw.ru|@swsoft.com|@sw.com.sg|adobriyan@|kuznet@' | wc -l
done | sed 's/ /\t/g'

Draw the graph

Here is the script to produce the graph. Note it calls the previous script under the name 'count'.

#!/bin/sh

if test "$1" != "-f"; then
	git pull
	sh count > time.dat
fi

DATE=$(date '+%d %b %Y')
MAXY=$(awk 'BEGIN {max=0}; ($3 > max) {max=$3}; END {print max+50}' < time.dat)
# GNU date is powerful!
MAXX=$(date +%b-1-%Y --date='+2 months')

export GDFONTPATH=/usr/share/fonts/msttcorefonts/
cat << EOF | gnuplot > plot.png
set terminal png enhanced font "verdanab,20" size 1600,1200

set title "OpenVZ team kernel patches progress as of ${DATE}"

unset xlabel
set xdata time
set timefmt "%b-%d-%Y"
set format x "%b\n%Y"
set grid xtics mxtics noytics

set xrange [ : "${MAXX}" ]
set yrange [ 0 : ${MAXY} ]
set ylabel "Number of patches, per kernel release,\naccepted into mainstream"

set border 3		# no lines at right and top
set xtics nomirror	# no tics at top
set ytics nomirror	# no tics at right

plot 'time.dat' using 1:3 with linespoints pt 6 ps 1 lw 2 lt 2 notitle, \
	''	using 1:3:2 with labels left offset 0,1 rotate notitle, \
	''	using 1:3:3 with labels left offset 0.7,0 notitle

EOF

File history

Click on a date/time to view the file as it appeared at that time.

(newest | oldest) View ( | ) (10 | 20 | 50 | 100 | 250 | 500)
Date/TimeThumbnailDimensionsUserComment
03:17, 24 March 2014Thumbnail for version as of 03:17, 24 March 20141,600 × 1,200 (38 KB)Kir (talk | contribs)Updated
22:46, 19 January 2013Thumbnail for version as of 22:46, 19 January 20131,600 × 1,200 (49 KB)Glic3rinu (talk | contribs)3.8-rc4, good work guys!
20:48, 19 March 2012Thumbnail for version as of 20:48, 19 March 20121,600 × 1,200 (47 KB)Glic3rinu (talk | contribs)kernel 3.3 released (c/r patches)
19:51, 26 January 2012Thumbnail for version as of 19:51, 26 January 20121,600 × 1,200 (47 KB)Glic3rinu (talk | contribs)now 3.0 is displayed too
19:39, 26 January 2012Thumbnail for version as of 19:39, 26 January 20121,600 × 1,200 (46 KB)Glic3rinu (talk | contribs)v3.3-rc1
12:08, 20 March 2011Thumbnail for version as of 12:08, 20 March 20111,600 × 1,200 (47 KB)Glic3rinu (talk | contribs)2.6.38 release
11:48, 2 August 2010Thumbnail for version as of 11:48, 2 August 20101,600 × 1,200 (45 KB)Glic3rinu (talk | contribs)2.6.35 released
17:54, 1 March 2010Thumbnail for version as of 17:54, 1 March 20101,600 × 1,200 (44 KB)Glic3rinu (talk | contribs)
17:52, 1 March 2010Thumbnail for version as of 17:52, 1 March 20101,600 × 1,200 (38 KB)Glic3rinu (talk | contribs)Reverted to version as of 08:50, 14 July 2008
01:59, 30 January 2010Thumbnail for version as of 01:59, 30 January 20101,600 × 1,200 (44 KB)Glic3rinu (talk | contribs)
(newest | oldest) View ( | ) (10 | 20 | 50 | 100 | 250 | 500)
  • You cannot overwrite this file.

The following 2 pages link to this file:

Metadata