About oi!oi! Cache Log AnalyzerCodemeridian.net.au

About oi!

Go to: oi! Cache Log Analyzer : About • Sample ReportsLicenseDownloadDocumentation
Related sites: AnalogCalamarisProxy/cache log analyzersTable Lens

Why oi!?

The oi! cache log analyzer was born in 1998 when I worked as a systems administrator for OzEmail, a large ISP in Australia.

I wasn't happy with other proxy cache log analysers – the output information was useful as an overall summary, but wasn't presented in any special way. So, I started writing my own analyzer.

The main inspiration for oi! came from two programs, Analog and Calamaris. Both these programs output reports that presented the information in a clear, uncluttered way, and performed well with large volumes of data.

History of oi!

The first version of oi! was written in Perl and produced simple, plain text output in table form, upto 80 characters wide – which meant it was easily viewed on a basic terminal.

Over the next couple of years, oi! was updated from time to time, to produce more data tables, generate HTML formatted reports, and just recently, graphs were added to help visualise the data.

The result I am looking for with oi! is something like Table Lens – an interactive, spreadsheet-like program that allows interactive exporation of data in a graphical way. Essentially, Table Lens is a proponent of the maxim using vision to think – it is my aim that oi! is the same, be it in a more static way.

I started to develop the graphical output of oi! before having heard of Table Lens, but it is good to know that I am on the right track.

Future of oi!

Now that I have settled on the output format generated by oi!, it was time to release version 1.00. This is the first step that will allow me to concentrate more on improving the efficiency of the code itself, and to start adding new features.

I plan to rewrite the whole thing some time in the future in Perl 5, but at the moment, the code isn't unwieldy, though it is inefficient.

The pressure to rewrite oi! is coming from the program's memory utilisation, due to the number of associative arrays the program stores.

Bugs, Comments and Suggestions

If you have any comments or suggestions, please let me know. You can contact me online.