5

I have a Django web application served up by mod_wsgi and Apache. I have apache logs of the web application in a production system, the logs include the time taken to serve the request in microseconds.

I would like to look at this data (on a URL by URL) basis to see what (if any) parts of the application are taking a long time to serve and should probably be improved. Is there any tool (FLOSS that works on Ubuntu Linux) that, given an apache log file, will display graphs, pretty picutres, calculate statistics, etc. of how long things are taking to serve up? (I'm asking here first in case someone else has already done it, and prevent me from re-inventing the wheel)

Bonus points if it will use my Django urls.py file to aggregate the urls and figure out the view that corresponds to it.

Amandasaurus
  • 31,471
  • 65
  • 192
  • 253

3 Answers3

2

Well, this misses one of your requirements (not FLOSS), but try Splunk. It's free (as in beer) for up to 500 MB of data indexed per day.

It makes it trivially easy to get the kind of data you're looking for; statistical reporting on the response time drilled down to a certain URL, or aggregate reports of what the fast and slow URLs are, would be a breeze.

Shane Madden
  • 114,520
  • 13
  • 181
  • 251
  • Splunk is great. You can even go over the limit of 500MB/day three times within a 30 day period until the license is violated, and even then it'll only stop accepting search/graph queries, but it'll still be indexing. So ideal if you want to import bigger amounts of historic data. – Stefan Seidel Apr 24 '13 at 13:25
1

Why not look at New Relic (http://www.newrelic.com)? It can do that sort of reporting, live even, and much more. If has a free Lite version which still covers what you want even if don't want to pay out money for more introspective features.

Disclaimer. I work there and that is the project I am working on right now. I trust you are however also enjoying my other project called mod_wsgi. ;-)

Graham Dumpleton
  • 6,090
  • 2
  • 21
  • 19
0

I know this may seem counter intuitive, but take a look at Microsoft's LogParser, http://technet.microsoft.com/en-us/scriptcenter/dd919274

It will ingest Apache logs just fine and as long as your SQL is up to snuff you can use it to go after the data you need on response times. Graphing output is included in the tool but there is no reason why you could not output the information to another tool for rendering. In our organization we format the output for graph generation using LaTeX/PSTricks for performance test analysis results inclusion.

James Pulley
  • 466
  • 2
  • 6