stash-log-parser / gnuplot / generate-git-durations.plot

# 2012-08-22 18:32:08 6
set datafile separator "|"
set terminal png size 1400,1000
set xdata time
set timefmt "%Y-%m-%d %H"
set yrange [0:*]

set grid
set xlabel "Date"
set ylabel "Duration (seconds)"
set format x "%d %b"
set key left top reverse Left
set format x "%d/%m\n%H:%M"
set timefmt "%Y-%m-%d %H:%M:%S"

set output "git-clone-duration.png"

# ===================================================================================
set title "Duration of git operations"
set multiplot layout 3, 1 title


# Date |
# Clone duration (cache hit) | Clone duration (cache miss) |
# Fetch (hit) | Fetch (miss) | Shallow Clone (hit) | Shallow Clone (miss) |
# Push (hit) | Push (miss) | Ref adv (hit) | Ref adv (miss) | Client IP"
plot    "clone-duration"        using 1:($2/1000)                      with lines title "Clone (cache hit)",\
        "clone-duration"        using 1:($3/1000)                      with lines title "Clone (cache miss)", \
        "clone-duration"        using 1:($6/1000)                      with lines title "Shallow Clone (cache hit)", \
        "clone-duration"        using 1:($7/1000)                      with lines title "Shallow Clone (cache miss)"

unset title
unset xlabel
plot    "clone-duration"        using 1:($4/1000)                      with lines title "Fetch (cache hit)", \
        "clone-duration"        using 1:($5/1000)                      with lines title "Fetch (cache miss)", \
        "clone-duration"        using 1:($10/1000)                     with lines title "Rev adv. (cache hit)", \
        "clone-duration"        using 1:($11/1000)                     with lines title "Rev adv. (cache miss)"

plot    "clone-duration"        using 1:($8/1000)                      with lines title "Push (cache hit)", \
        "clone-duration"        using 1:($9/1000)                      with lines title "Push (cache miss)"
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.