This directory contains perl scripts which can be used to generate
statistics for tomcat requests and errors logged by mod_jk.

See the comments in the scripts for more details.

A great deal of statistical data is generated but at this time
only long term trend graphs are being created and no reports.
This is only a start.  Many more graphs and reports could be
generated from the data. Please consider contributing back any
new reports or graphs you create.  Thanks.

Requires the following perl modules and libraries:

GD 1.8.x graphics library http://www.boutell.com/gd/.
GD 1.4.x perl module.
GD Graph perl module.
GD TextUtil perl module.
StatisticsDescriptive perl module.
