Skip to content

Instantly share code, notes, and snippets.

@hpwxf
Forked from garethrees/plot.p
Last active June 19, 2018 21:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hpwxf/54b86ec0f9ee5b58ab371b9f3f3d316b to your computer and use it in GitHub Desktop.
Save hpwxf/54b86ec0f9ee5b58ab371b9f3f3d316b to your computer and use it in GitHub Desktop.
Graphing apache benchmark results with gnuplot
# Tell gnuplot to use tabs as the delimiter instead of spaces (default)
set datafile separator '\t'
# skip first line with 'every ::2' in following commands
# First stats file to extract min time value
# (must be done before setting that x will be a time data serie)
stats "out.dat" every ::2 using 2 prefix "A"
# Output to a jpeg file
set terminal png size 1280,720
# Set the aspect ratio of the graph
set size 1, 1
# The file to write to
set output "timeseries.png"
# The graph title
set title "Benchmark testing"
# Where to place the legend/key
set key left top
# Draw gridlines oriented on the y axis
set grid y
# Specify that the x-series data is time data
set xdata time
# Specify the *input* format of the time data
set timefmt "%s"
# Specify the *output* format for the x-axis tick labels
set format x "%s"
# Label the x-axis
set xlabel 'seconds'
# Label the y-axis
set ylabel "response time (ms)"
set logscale y
# Plot the data
#plot "out.dat" every ::2 using 2:5 title 'response time' with points
# Plot the data with an x-origin at 0
plot "out.dat" every ::2 using ($2-A_min):5 title 'response time' with points
$ ab -n 1000 -c 10 -g out.dat http://example.com/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment