Difference between revisions of "File:Kernel patches stats.png"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
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 | ) (10 | 20 | 50 | 100 | 250 | 500)
Date/TimeThumbnailDimensionsUserComment
current05:47, 28 March 2022Thumbnail for version as of 05:47, 28 March 20221,600 × 1,200 (52 KB)Vvs (talk | contribs)v5.17+
15:00, 8 May 2021Thumbnail for version as of 15:00, 8 May 20211,600 × 1,200 (49 KB)Vvs (talk | contribs)v5.12+
13:27, 3 May 2020Thumbnail for version as of 13:27, 3 May 20201,600 × 1,200 (50 KB)Vvs (talk | contribs)3.Mai 2020
10:21, 31 January 2020Thumbnail for version as of 10:21, 31 January 20201,600 × 1,200 (49 KB)Vvs (talk | contribs)v5.5+
07:36, 30 October 2019Thumbnail for version as of 07:36, 30 October 20191,600 × 1,200 (49 KB)Vvs (talk | contribs)v5.3+
07:16, 23 August 2019Thumbnail for version as of 07:16, 23 August 20191,600 × 1,200 (49 KB)Vvs (talk | contribs)v5.2+
06:26, 27 May 2019Thumbnail for version as of 06:26, 27 May 20191,600 × 1,200 (49 KB)Vvs (talk | contribs)26 may 2019, v5.2-rc2
15:48, 21 February 2019Thumbnail for version as of 15:48, 21 February 20191,600 × 1,200 (48 KB)Vvs (talk | contribs)5.0-rc7 state
11:10, 30 November 2018Thumbnail for version as of 11:10, 30 November 20181,600 × 1,200 (47 KB)Vvs (talk | contribs)
11:18, 27 August 2018Thumbnail for version as of 11:18, 27 August 20181,600 × 1,200 (48 KB)Vvs (talk | contribs)4.18+
(newest | oldest) View (newer 10 | ) (10 | 20 | 50 | 100 | 250 | 500)
  • You cannot overwrite this file.

The following 2 pages link to this file:

Metadata