Til wwwstat finnes et program (gwstat) som genererer mange ulike grafiske
oversikter, men dette programmet kunne ikke gi oss linjediagrammer,
så gnuplot ble derfor valgt.
gnuplot er et meget kraftig verktøy for å visualisere
matematiske funksjoner, og støtter de fleste platformer. gnuplot
kan også brukes på datasett, og passet derfor til vår
oppgave.
"Basically, gnuplot is a freely available plotting package with the added
ability to fit data files to functions. It's very flexible, both in plotting
and output formats - it can be run in batch mode and can even be interfaced by
other programs. It's command-line driven which gives gnuplot a powerful and
flexible interface via simple commands."
(http://cmpc1.phys.soton.ac.uk/)
Det første som måtte gjøres var å generere filer
som inneholdt de dataene vi trengte. Gjennomsnittene ble hentet fra
html-sidene som ligger under /almashriq/base/statistics/ vha et
perl-script (stat2gif.pl). Dette scriptet filtrerte dataene slik at de
kunne brukes i gnuplot og genererte en gif for "Average megabytes sent and
requests pr. day".
gnuplot har som STDOUT en X11-terminal, og vi satte derfor output til
å være interlaced gif-filer med en størrelse på
800x480.
stat2gif.pl kjøres en gang i måneden, og genererer nye gif'er
for hver gang. Scriptet kalles fra wwwstat.monthly.cron.
Datafilene så slik ut (gnuplot_requests.dat):
1654
2222
2371
2817
4060
4023
4745
6130
7962
6066
7539
10086
9524
Scriptet som kjøres av gnuplot (merged.gp):
set terminal gif interlace small size 800,480
set output '/www/almashriq/htdocs/base/statistics/merged.gif'
set xtics border mirror ("Feb96" 0, "Mar96" 1, "Apr96" 2,\
"May96" 3, "Jun96" 4, "Jul96" 5, "Aug96" 6, "Sep96" 7,\
"Oct96" 8, "Nov96" 9, "Dec96" 10, "Jan97" 11, "Apr97" 12)
set y2tics
set ylabel 'Megabytes sent'
set y2label 'Requests'
plot '/www/almashriq/htdocs/base/statistics/gnuplot_bytes.dat' axes\
x1y1 title 'Megabytes sent' with lines,\
'/www/almashriq/htdocs/base/statistics/gnuplot_requests.dat'\
axes x1y2 title 'Requests' with lines