I want on a single chart the lines graphs of count of all queries, count of matching queries, and mean duration of all queries. This chart gives me the temperature of the previous day's query load which is a useful qualitative factor for capacity planning. The data retrieval results in records representing a 10 minute interval with counts of all queries, counts of matching queries, and mean durations. This is then plotted to give a chart like the following:
The file of records contains values that looks like
2014-07-07T00:10:00 10449 3850 934 2014-07-07T00:20:00 18445 5676 407 2014-07-07T00:30:00 18497 6507 535 2014-07-07T00:40:00 11419 4463 734 2014-07-07T00:50:00 11634 4454 724 2014-07-07T01:00:00 11960 5077 808 ...
The Gnuplot script is
set terminal png size 800, 400 small interlace set output "/tmp/chart.png" set size ratio 0.5 set xdata time set timefmt "%Y-%m-%dT%H:%M:%S" set xlabel "Hour" set format x "%H:%M" set ylabel "Count" set ytics nomirror set yrange [0:40000] set y2label "Milliseconds" set y2tics set y2range [0:4000] set title "MetaData matching search counts and average durations (10 min intervals) for 2014-07-07" plot \ "/tmp/chart.data" using 1:2 title "Query count" with lines, \ "/tmp/chart.data" using 1:3 title "Matching count" with lines, \ "/tmp/chart.data" using 1:4 title "Request duration" axes x1y2 with lines
The chart is produced daily and it is useful to visually align several days of charts to look for patterns. For comparable charts this requires that the charts all have the same y-axes ranges. To do this Gnuplot's range setting is used. If you do not want a fixed range then remove the set yrange ... and set y2range ... lines.
I hope this helps someone else with their Gnuplot use.