Difference between revisions of "File:Kernel patches stats.png"
(uploaded a new version of "Image:Kernel patches stats.png") |
(→Draw the graph: new version of script) |
||
Line 45: | Line 45: | ||
if test "$1" != "-f"; then | if test "$1" != "-f"; then | ||
− | + | git pull | |
− | + | sh count > time.dat | |
fi | fi | ||
DATE=$(date '+%d %b %Y') | DATE=$(date '+%d %b %Y') | ||
MAXY=$(awk 'BEGIN {max=0}; ($3 > max) {max=$3}; END {print max+50}' < time.dat) | 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/ | export GDFONTPATH=/usr/share/fonts/msttcorefonts/ | ||
cat << EOF | gnuplot > plot.png | cat << EOF | gnuplot > plot.png | ||
− | set terminal png | + | set terminal png enhanced font "verdanab,20" size 1600,1200 |
set title "OpenVZ team kernel patches progress as of ${DATE}" | set title "OpenVZ team kernel patches progress as of ${DATE}" | ||
Line 62: | Line 64: | ||
set timefmt "%b-%d-%Y" | set timefmt "%b-%d-%Y" | ||
set format x "%b\n%Y" | set format x "%b\n%Y" | ||
+ | set grid xtics mxtics noytics | ||
+ | set xrange [ : "${MAXX}" ] | ||
set yrange [ 0 : ${MAXY} ] | set yrange [ 0 : ${MAXY} ] | ||
− | set ylabel "Number of patches | + | set ylabel "Number of patches, per kernel release,\naccepted into mainstream" |
− | set border 3 | + | set border 3 # no lines at right and top |
− | set xtics nomirror | + | set xtics nomirror # no tics at top |
− | set ytics nomirror | + | set ytics nomirror # no tics at right |
− | plot 'time.dat' using 1:3 with linespoints pt | + | 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 | EOF | ||
</source></small> | </source></small> |
Revision as of 22:59, 28 March 2008
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 (newer 10 | older 10) (10 | 20 | 50 | 100 | 250 | 500)Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 05:47, 28 March 2022 | 1,600 × 1,200 (52 KB) | Vvs (talk | contribs) | v5.17+ | |
15:00, 8 May 2021 | 1,600 × 1,200 (49 KB) | Vvs (talk | contribs) | v5.12+ | ||
13:27, 3 May 2020 | 1,600 × 1,200 (50 KB) | Vvs (talk | contribs) | 3.Mai 2020 | ||
10:21, 31 January 2020 | 1,600 × 1,200 (49 KB) | Vvs (talk | contribs) | v5.5+ | ||
07:36, 30 October 2019 | 1,600 × 1,200 (49 KB) | Vvs (talk | contribs) | v5.3+ | ||
07:16, 23 August 2019 | 1,600 × 1,200 (49 KB) | Vvs (talk | contribs) | v5.2+ | ||
06:26, 27 May 2019 | 1,600 × 1,200 (49 KB) | Vvs (talk | contribs) | 26 may 2019, v5.2-rc2 | ||
15:48, 21 February 2019 | 1,600 × 1,200 (48 KB) | Vvs (talk | contribs) | 5.0-rc7 state | ||
11:10, 30 November 2018 | 1,600 × 1,200 (47 KB) | Vvs (talk | contribs) | |||
11:18, 27 August 2018 | 1,600 × 1,200 (48 KB) | Vvs (talk | contribs) | 4.18+ |
- You cannot overwrite this file.
File usage
The following 2 pages link to this file: