resperf-report revision f3ad877eb05befbc862b0233d985758c0caef29a
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# Driver script to run resperf and generate an HTML report of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# the results, with graphs.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Program locations - change these if not in $PATH
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The gnuplot terminal type. This determines the image format for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# plots; "png" or "gif" will both work as long as the corresponding
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# terminal support is compiled into your copy of gnuplot.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Create a unique ID for this report
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Set up file names
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Run the test
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$resperf -P "$plotfile" "$@" >"$outputfile" 2>&1 ||
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein { echo "`basename $0`: error running resperf:" >&2;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Create plots
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset terminal $terminal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset output "$rate_graph"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset title "Query / response / failure rate"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset key top left
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset xlabel "Time (seconds)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset yrange [0:]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"$plotfile" using 1:3 title "Queries sent per second" with lines, \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"$plotfile" using 1:4 title "Total responses received per second" with lines, \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"$plotfile" using 1:5 title "Failure responses received per second" with lines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "`basename $0`: error running gnuplot" >&2; exit 1;
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updaterset terminal $terminal
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updaterset output "$latency_graph"
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updaterset title "Latency"
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updaterset key top left
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updaterset xlabel "Time (seconds)"
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updaterset yrange [0:]
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater"$plotfile" using 1:6 title "Average latency (seconds)" with lines
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater echo "`basename $0`: error running gnuplot" >&2; exit 1;
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater# Generate the report
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<html><head></head><body>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<h1>Resperf report $id</h1>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<h2>Resperf output</h2>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<h2>Plots</h2>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<img src="$rate_graph" />
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<img src="$latency_graph" />
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</body></html>