wvanbergen / request-log-analyzer

A command line tool that analyzes request logfiles (e.g. Rails, Merb, Apache) to produce a performance report.

This URL has Read+Write access

request-log-analyzer / TODO
100644 53 lines (38 sloc) 1.688 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
TODO items for Rails-log-analyzer
=================================
Contact willem AT vanbergen DOT org if you want to help out with the development.
 
General:
- Add more tests / specs
 
Datamining:
- Add query functionality for the resulting database file (interactive reports?)
- Link request processing line to request completed line (VirtualMongrel?)
- Fix the database inserter and make it more robust for future changes
 
Rails integration:
- Optionally use local or specific routes.rb file to parse URLs
 
Other:
- World domination
 
 
 
 
Datamining should look something like this:
 
> request-log-analyzer myapp.log --interactive
Request log analyzer builds a new database.
Columns come from the log_parser as the LOG_LINES store all the keys that they can detect.
Also add some extra columns like hashed_request_url etc.
 
Request log analyzer then parses the logfile for its individual requests using something like the
virtual mongrel (we need a new name for this, database_summarizer agregator? sheepdog?) combined with our
default log parser.
 
When this is done the user enters an interactive mode (like irb).
> Filters: None
> Total requests in database: 53232
> $
 
The user can add filters like this:
> $ FILTER SQL ["date > ?", Date.today-1]
 
The user will then see this:
> Filters:
> 1. ["date > ?", Date.today-1]
> Total requests: 2120
> $
 
At any point the user can destroy filters, show the raw requests or show reports
> $ REPORT ALL
 
The request remaining after the filter chain will then be processed through the summarizer and then trough the
output templates, generating reports specificly for the selected dataset.
Partials should also be possible
> $ REPORT TIMESPAN