performance
Jul 08 2009
Using Groovy to Parse Application Logs for Performance Data
Groovy came in handy for me once again last week when I was tasked with aggregating performance data from application logs. The logs were concatenated together into one file that totalled over 2 million lines. Interspersed throughout the logs were performance timer entries. Each entry included a timestamp, a string for tagging the line as a performance timer entry, the name of the object and method called, and the number of milliseconds elapsed for the method's execution.
Performance tests were run over a two-day period under various loads. For analysis purposes we wanted to see each method's average run time for each set of conditions, so we needed a way to look at aggregated data for specified time periods. The results would be output to a CSV format for easy integration with an Excel worksheet. Finally, we didn't want to spend too much time on creating a script since it wouldn't really be reuseable outside the context of this project, due to the specific formatting of the performance timing entries.