## Perforce Server Log Analyzers Log analyzers are useful to identify common issues on a Perforce server quickly. For more background information, please see: http://answers.perforce.com/articles/KB/5470/ http://answers.perforce.com/articles/KB/2514/ ## log_analyzer.php This is a PHP script that turns a `P4LOG` into a SQLite database and generate canned reports from it. The report is useful to identify common performance issues on a Perforce Helix server and further queries can be done against the SQLite database created. For more information, please refer to the following KB article: http://answers.perforce.com/articles/KB/1266/ ## p4clog.py A Python script that scans through a `P4LOG` file quickly and generate data suitable for generating graphs. More information and examples can be found in: http://answers.perforce.com/articles/KB/3706/ ## log2sql.py The new kid on the block - similar to log_analyzer.php. Big advantage is that it has a fairly comprehensive test harness and processes all manner of recently observed log file scenarios. In addition, there is an associated Python Flask-based web app which runs various pre-canned queries and charts. It is setup to run inside a Docker container for ease of isolation of environment. Pre-requisite: Docker installed Use the Makefile (first build from scratch will take 5-10 mins): make build make up The latter runs the web app by default on http://localhost:5000 Note that there is a page to upload a log file into the psla/logs directory inside the container. But the container is run with the logs directory in the current directory mounted as /logs - so files will persist when container is not running. Any generated database will also be put in this same directory. Especially if you have largeish log files, it is better to run the analysis first manually and put the results in log directory. Then run the container to analyse the results. So: cp p4d.log psla/logs cd psla/logs ../log2sql.py -d dbname psla.logs View progress information, and check resulting dbname.db is created. Then run docker contrainer: cd .. make up Navigate to http://localhost:5000/analyseLog select your database name and click analyse.