Difference between revisions of "File:Kernel patches stats.png"
m (fixed script a bit) |
(added graph source code) |
||
Line 1: | Line 1: | ||
+ | == Description == | ||
+ | |||
This graph shows how many patches from OpenVZ developers are merged in mainstream, for each kernel version. | This graph shows how many patches from OpenVZ developers are merged in mainstream, for each kernel version. | ||
− | It is done in gnuplot. Data set produced by a simple shell script working on git repository. Here is the script: | + | It is done in gnuplot. Data set produced by a simple shell script working on git repository. |
+ | |||
+ | == Source code == | ||
+ | |||
+ | === Collect data === | ||
+ | Here is the script to produce the data for the graph: | ||
<small><source lang="bash"> | <small><source lang="bash"> | ||
Line 29: | Line 36: | ||
done | sed 's/ /\t/g' | done | sed 's/ /\t/g' | ||
+ | </source></small> | ||
+ | |||
+ | === Draw the graph === | ||
+ | |||
+ | Here is the script to produce the graph. Note it calls the previous script under the name 'count'. | ||
+ | <small><source lang="bash"> | ||
+ | #!/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) | ||
+ | |||
+ | export GDFONTPATH=/usr/share/fonts/msttcorefonts/ | ||
+ | cat << EOF | gnuplot > plot.png | ||
+ | set terminal png transparent nocrop enhanced font verdanab 8 size 600,400 | ||
+ | |||
+ | set title "OpenVZ team kernel patches progress as of ${DATE}" | ||
+ | |||
+ | set xlabel "Date" | ||
+ | set xdata time | ||
+ | set timefmt "%b-%d-%Y" | ||
+ | set format x "%b\n%Y" | ||
+ | |||
+ | set yrange [ 0 : ${MAXY}] | ||
+ | set ylabel "Number of patches accepted into mainstream" | ||
+ | |||
+ | plot 'time.dat' using 1:3 with linespoints pt 7 ps 1.5 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 | ||
</source></small> | </source></small> |
Revision as of 16:53, 26 February 2008
Description
This graph shows how many patches from OpenVZ developers are merged in mainstream, for each kernel version.
It is done in gnuplot. Data set produced by a simple shell script working on 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)
export GDFONTPATH=/usr/share/fonts/msttcorefonts/
cat << EOF | gnuplot > plot.png
set terminal png transparent nocrop enhanced font verdanab 8 size 600,400
set title "OpenVZ team kernel patches progress as of ${DATE}"
set xlabel "Date"
set xdata time
set timefmt "%b-%d-%Y"
set format x "%b\n%Y"
set yrange [ 0 : ${MAXY}]
set ylabel "Number of patches accepted into mainstream"
plot 'time.dat' using 1:3 with linespoints pt 7 ps 1.5 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: