April 8, 2009

Perforce Server Log Analyzer

To diagnose slow server performance a number of aspects need to be considered: hardware, software, and usage can all affect server speed.  When problems occur it's nice to be able to look at what command specifically caused the issue.  In the earlier days of Perforce support we had to manually analyze server logs to find commands that held locks on database files for an inordinate amount of time. Then came Track2SQL, written by a colleague of mine, Stewart Lord. This allowed us to parse a log file and upload it into an SQL database. We could then run complex queries on the data and get results quickly and easily.  Life was good, but then it got better. Another colleague of mine, Josh Eror, wrote a PHP front end for us which allowed us to use a web-based interface to upload, parse, and report on user data.

The two in combination work great for us internally, but if users want to take advantage of said technology they must have PHP and SQL installed on their system.  We recognize that getting your IT department to install software and then run our custom scripts can be problematic.  So we decided to take them out of the equation and put up a public version of our log analyzer tool for customer use.

The Perforce Server Log Analyzer allows users to upload log file(s) to our server for parsing and analysis.  The log analyzer will report which commands may have caused server performance problems. The data you upload will be kept for a period of 10 days, afterwards it will be automatically purged from our system. For every log file you upload you will receive an access key which will allow you to access your data at any time. Results should be fairly simple to understand, but if you need help please contact Perforce Support.

I'm very pleased to make this tool publicly available to you. If you have any suggestions, comments, concerns, or ideas for other self serve support options please let us know.