bind_log_analyzer 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/README.md +12 -9
  2. data/bin/bind_log_analyzer +30 -6
  3. data/bind_log_analyzer.gemspec +3 -0
  4. data/doc/BindLogAnalyzer.html +4 -4
  5. data/doc/BindLogAnalyzer/Base.html +65 -193
  6. data/doc/BindLogAnalyzer/Connector.html +380 -55
  7. data/doc/BindLogAnalyzer/DatabaseConfsNotValid.html +1 -1
  8. data/doc/BindLogAnalyzer/WebServer.html +127 -0
  9. data/doc/Log.html +142 -1
  10. data/doc/_index.html +16 -1
  11. data/doc/class_list.html +1 -1
  12. data/doc/file.README.html +1 -1
  13. data/doc/index.html +1 -1
  14. data/doc/method_list.html +35 -3
  15. data/doc/top-level-namespace.html +1 -1
  16. data/lib/bind_log_analyzer.rb +1 -0
  17. data/lib/bind_log_analyzer/base.rb +3 -27
  18. data/lib/bind_log_analyzer/connector.rb +58 -16
  19. data/lib/bind_log_analyzer/version.rb +1 -1
  20. data/lib/bind_log_analyzer/web_server.rb +45 -0
  21. data/lib/models/log.rb +10 -0
  22. data/resources/assets/images/glyphicons-halflings-white.png +0 -0
  23. data/resources/assets/images/glyphicons-halflings.png +0 -0
  24. data/resources/assets/javascripts/backbone-min.js +38 -0
  25. data/resources/assets/javascripts/bootstrap.min.js +6 -0
  26. data/resources/assets/stylesheets/bootstrap-responsive.min.css +12 -0
  27. data/resources/assets/stylesheets/bootstrap.min.css +689 -0
  28. data/resources/assets/stylesheets/main.css +4 -0
  29. data/resources/views/index.haml +16 -0
  30. data/resources/views/last_queries.haml +16 -0
  31. data/resources/views/layout.haml +14 -0
  32. data/resources/views/navbar.haml +12 -0
  33. data/resources/views/top_clients.haml +10 -0
  34. data/resources/views/top_queries.haml +10 -0
  35. metadata +56 -8
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Bind Log Analyzer
2
2
 
3
- Simple analysis and SQL storage for Bind DNS server's logs
3
+ Simple analysis and SQL storage for Bind DNS server's logs.
4
+ The gem includes a web interface to analyze the data collected from the analyzed logs.
5
+
6
+ ![Bind Log Analyzer web interface](http://f.cl.ly/items/0A1A173R3b012R1V2x2b/bind_log_analyzer_screenshot_1.jpg)
4
7
 
5
8
  ## Requirements
6
9
 
@@ -61,8 +64,9 @@ Use the provided --help to get various options available. This is the default he
61
64
 
62
65
  -h, --help Display this screen
63
66
  -v, --verbose LEVEL Enables verbose output. Use level 1 for WARN, 2 for INFO and 3 for DEBUG
67
+ -w, --webserver [HTTP_PORT] Launches the Sinatra web server on specified port, or 4567 if omitted
64
68
  -s, --setup Creates the needed tables in the database.
65
- -f, --file FILE Indicates the log file to parse. It's mandatory.
69
+ -f, --file FILE Indicates the log file to parse. It's mandatory if you don't specify the --webserver option.
66
70
  -c, --config CONFIG A yaml file containing the database configurations under the "database" entry
67
71
  -a, --adapter ADAPTER The database name to save the logs
68
72
  -d, --database DATABASE The database name to save the logs
@@ -71,8 +75,6 @@ Use the provided --help to get various options available. This is the default he
71
75
  -u, --user USER The username to be used to connect to the database
72
76
  -p, --password PASSWORD The password of the user
73
77
 
74
- There's only one mandatory argument which is **--file FILE**. With this flag you pass the Bind log file to analyze to *BindLogAnalyzer*.
75
-
76
78
  The first time you launch *BindLogAnalyzer* you can use the **-s|--setup** flag to make it create the table (using ActiveRecord::Migration).
77
79
  The database credentials can be provided using the needed flags or creating a YAML file containing all the informations under the **database** key. This is an example:
78
80
 
@@ -84,6 +86,11 @@ The database credentials can be provided using the needed flags or creating a YA
84
86
  username: root
85
87
  password:
86
88
 
89
+ There are two usage of the gem:
90
+
91
+ * Use **--file FILE** flag to pass to *BindLogAnalyzer* the file to analyze.
92
+ * Use **-w, --webserver [HTTP_PORT]** to start the Sinatra webserver and watch the stats on the collected data.
93
+
87
94
  ## Automatization
88
95
 
89
96
  A good way to use this script is to let it be launched by **logrotate** so create the _/etc/logrotate.d/bind_ file with this content:
@@ -129,8 +136,4 @@ On a 1.6 Ghz Intel Core i5 with SSD SATA2 disk, using Ruby-1.9.3-p125 and MySQL
129
136
  Analyzed 319758 lines and correctly stored 319758 logs
130
137
  bind_log_analyzer -f query.log -c database.yml 322,44s user 22,90s system 76% cpu 7:33,17 total
131
138
 
132
- which is equivalent to ±706 query/sec.
133
-
134
- ## To do
135
-
136
- - Add a web interface to show the queries (with awesome graphs, obviously :)
139
+ which is equivalent to ±706 query/sec.
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bind_log_analyzer"
4
- require 'optparse'
4
+ require "optparse"
5
5
 
6
6
  @filename = nil
7
7
  @log_level = 0
8
8
  @database_confs = nil
9
9
  @setup_database = false
10
+ @webserver = false
11
+ @webserver_port = nil
10
12
  @db_yaml = nil
11
13
  @db_adapter = 'mysql2'
12
14
  @db_host = nil
@@ -18,7 +20,7 @@ require 'optparse'
18
20
  optparse = OptionParser.new do |opts|
19
21
  # Set a banner, displayed at the top
20
22
  # of the help screen.
21
- opts.banner = "Usage: ./#{File.basename(__FILE__)} (--file|-f FILENAME [--setup|-s] [--verbose|-v (1|2|3)] [--database|-d database_name] [--config|-c database_yaml_configurations] [--host|-H database_hostname] [--port|-p database_port] [--user|-u database_username] [--password|-p database_password] | --help|-h)"
23
+ opts.banner = "Usage: ./#{File.basename(__FILE__)} (--file|-f FILENAME [--setup|-s] [--verbose|-v (1|2|3)] [--database|-d database_name] [--config|-c database_yaml_configurations] [--host|-H database_hostname] [--port|-p database_port] [--user|-u database_username] [--password|-p database_password] [-w|--webserver] | --help|-h)"
22
24
 
23
25
  # This displays the help screen
24
26
  opts.on( '-h', '--help', 'Display this screen' ) do
@@ -37,11 +39,16 @@ optparse = OptionParser.new do |opts|
37
39
  end
38
40
  end
39
41
 
42
+ opts.on( '-w', '--webserver [HTTP_PORT]', "Launches the Sinatra web server on specified port, or 4567 if omitted" ) do |opt|
43
+ @webserver = true
44
+ @webserver_port = opt if opt != true
45
+ end
46
+
40
47
  opts.on( '-s', '--setup', "Creates the needed tables in the database." ) do |opt|
41
48
  @setup_database = true
42
49
  end
43
50
 
44
- opts.on( '-f', '--file FILE', "Indicates the log file to parse. It's mandatory." ) do |opt|
51
+ opts.on( '-f', '--file FILE', "Indicates the log file to parse. It's mandatory if you don't specify the --webserver option." ) do |opt|
45
52
  @filename = opt
46
53
  end
47
54
 
@@ -89,9 +96,26 @@ elsif @db_username || @db_password || @db_host || @db_port || @db_database
89
96
  }
90
97
  end
91
98
 
92
- if @filename
93
- @base = BindLogAnalyzer::Base.new(@database_confs, @filename, @setup_database, @log_level)
94
- @base.analyze
99
+ if @webserver
100
+ puts <<EOF
101
+ #**********************************#
102
+ # #
103
+ # Running Sinatra-based web server #
104
+ # #
105
+ # Use CTRL+C to stop the server #
106
+ # #
107
+ #**********************************#
108
+ EOF
109
+ @log_level = 1 if @log_level == 0
110
+ BindLogAnalyzer::Connector.establish_connection(@database_confs, @log_level)
111
+ if @webserver_port
112
+ BindLogAnalyzer::WebServer.run!({ port: @webserver_port.to_i})
113
+ else
114
+ BindLogAnalyzer::WebServer.run!
115
+ end
116
+ elsif @filename
117
+ base = BindLogAnalyzer::Base.new(@database_confs, @filename, @setup_database, @log_level)
118
+ base.analyze
95
119
  else
96
120
  puts optparse.banner
97
121
  exit -1
@@ -19,6 +19,9 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_dependency "activerecord"
22
+ s.add_dependency "json"
23
+ s.add_dependency "sinatra"
24
+ s.add_dependency "haml"
22
25
  s.add_development_dependency "rspec"
23
26
  s.add_development_dependency "simplecov"
24
27
  end
@@ -73,7 +73,7 @@
73
73
 
74
74
  <dt class="r1 last">Defined in:</dt>
75
75
  <dd class="r1 last">lib/bind_log_analyzer.rb<span class="defines">,<br />
76
- lib/bind_log_analyzer/base.rb,<br /> lib/bind_log_analyzer/version.rb,<br /> lib/bind_log_analyzer/connector.rb,<br /> lib/bind_log_analyzer/exceptions.rb</span>
76
+ lib/bind_log_analyzer/base.rb,<br /> lib/bind_log_analyzer/version.rb,<br /> lib/bind_log_analyzer/connector.rb,<br /> lib/bind_log_analyzer/web_server.rb,<br /> lib/bind_log_analyzer/exceptions.rb</span>
77
77
  </dd>
78
78
 
79
79
  </dl>
@@ -100,7 +100,7 @@ supported by ActiveRecord.</p>
100
100
 
101
101
 
102
102
 
103
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="BindLogAnalyzer/Base.html" title="BindLogAnalyzer::Base (class)">Base</a></span>, <span class='object_link'><a href="BindLogAnalyzer/DatabaseConfsNotValid.html" title="BindLogAnalyzer::DatabaseConfsNotValid (class)">DatabaseConfsNotValid</a></span>
103
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="BindLogAnalyzer/Base.html" title="BindLogAnalyzer::Base (class)">Base</a></span>, <span class='object_link'><a href="BindLogAnalyzer/DatabaseConfsNotValid.html" title="BindLogAnalyzer::DatabaseConfsNotValid (class)">DatabaseConfsNotValid</a></span>, <span class='object_link'><a href="BindLogAnalyzer/WebServer.html" title="BindLogAnalyzer::WebServer (class)">WebServer</a></span>
104
104
 
105
105
 
106
106
  </p>
@@ -141,7 +141,7 @@ supported by ActiveRecord.</p>
141
141
 
142
142
  </div>
143
143
  </dt>
144
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.1.1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
144
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.2.0</span><span class='tstring_end'>&quot;</span></span></pre></dd>
145
145
 
146
146
  </dl>
147
147
 
@@ -157,7 +157,7 @@ supported by ActiveRecord.</p>
157
157
  </div>
158
158
 
159
159
  <div id="footer">
160
- Generated on Tue Apr 3 17:01:09 2012 by
160
+ Generated on Thu Apr 5 16:11:31 2012 by
161
161
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
162
162
  0.7.5 (ruby-1.9.3).
163
163
  </div>
@@ -114,32 +114,6 @@
114
114
  <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
115
115
  <ul class="summary">
116
116
 
117
- <li class="public ">
118
- <span class="summary_signature">
119
-
120
- <a href="#database_confs-instance_method" title="#database_confs (instance method)">- (Hash) <strong>database_confs</strong> </a>
121
-
122
-
123
-
124
- </span>
125
-
126
-
127
- <span class="note title readonly">readonly</span>
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
- <span class="summary_desc"><div class='inline'>
137
- <p>The hash containing the database params and credentials.</p>
138
- </div></span>
139
-
140
- </li>
141
-
142
-
143
117
  <li class="public ">
144
118
  <span class="summary_signature">
145
119
 
@@ -205,7 +179,7 @@
205
179
  <li class="public ">
206
180
  <span class="summary_signature">
207
181
 
208
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Base) <strong>initialize</strong>(database_confs = nil, logfile = nil, setup_database = false, log_level = 0) </a>
182
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Base) <strong>initialize</strong>(database_params = nil, logfile = nil, setup_database = false, log_level = 0) </a>
209
183
 
210
184
 
211
185
 
@@ -332,14 +306,14 @@ setup of the database.</p>
332
306
 
333
307
 
334
308
  <h3 class="inherited">Methods included from <span class='object_link'><a href="Connector.html" title="BindLogAnalyzer::Connector (module)">Connector</a></span></h3>
335
- <p class="inherited"><span class='object_link'><a href="Connector.html#connect-instance_method" title="BindLogAnalyzer::Connector#connect (method)">#connect</a></span>, <span class='object_link'><a href="Connector.html#connected%3F-instance_method" title="BindLogAnalyzer::Connector#connected? (method)">#connected?</a></span>, <span class='object_link'><a href="Connector.html#load_environment-instance_method" title="BindLogAnalyzer::Connector#load_environment (method)">#load_environment</a></span>, <span class='object_link'><a href="Connector.html#migrate_tables-instance_method" title="BindLogAnalyzer::Connector#migrate_tables (method)">#migrate_tables</a></span>, <span class='object_link'><a href="Connector.html#setup_db-instance_method" title="BindLogAnalyzer::Connector#setup_db (method)">#setup_db</a></span></p>
309
+ <p class="inherited"><span class='object_link'><a href="Connector.html#connect-class_method" title="BindLogAnalyzer::Connector.connect (method)">connect</a></span>, <span class='object_link'><a href="Connector.html#connected%3F-instance_method" title="BindLogAnalyzer::Connector#connected? (method)">#connected?</a></span>, <span class='object_link'><a href="Connector.html#establish_connection-class_method" title="BindLogAnalyzer::Connector.establish_connection (method)">establish_connection</a></span>, <span class='object_link'><a href="Connector.html#load_environment-instance_method" title="BindLogAnalyzer::Connector#load_environment (method)">#load_environment</a></span>, <span class='object_link'><a href="Connector.html#migrate_tables-instance_method" title="BindLogAnalyzer::Connector#migrate_tables (method)">#migrate_tables</a></span>, <span class='object_link'><a href="Connector.html#set_log_level-class_method" title="BindLogAnalyzer::Connector.set_log_level (method)">set_log_level</a></span>, <span class='object_link'><a href="Connector.html#setup_db-instance_method" title="BindLogAnalyzer::Connector#setup_db (method)">#setup_db</a></span>, <span class='object_link'><a href="Connector.html#setup_db_confs-class_method" title="BindLogAnalyzer::Connector.setup_db_confs (method)">setup_db_confs</a></span></p>
336
310
  <div id="constructor_details" class="method_details_list">
337
311
  <h2>Constructor Details</h2>
338
312
 
339
313
  <div class="method_details first">
340
314
  <p class="signature first" id="initialize-instance_method">
341
315
 
342
- - (<tt><span class='object_link'><a href="" title="BindLogAnalyzer::Base (class)">Base</a></span></tt>) <strong>initialize</strong>(database_confs = nil, logfile = nil, setup_database = false, log_level = 0)
316
+ - (<tt><span class='object_link'><a href="" title="BindLogAnalyzer::Base (class)">Base</a></span></tt>) <strong>initialize</strong>(database_params = nil, logfile = nil, setup_database = false, log_level = 0)
343
317
 
344
318
 
345
319
 
@@ -358,7 +332,7 @@ setup of the database</p>
358
332
 
359
333
  <li>
360
334
 
361
- <span class='name'>database_confs</span>
335
+ <span class='name'>database_params</span>
362
336
 
363
337
 
364
338
  <span class='type'>(<tt>Hash</tt>, <tt>String</tt>)</span>
@@ -438,61 +412,19 @@ informations</p>
438
412
  <pre class="lines">
439
413
 
440
414
 
415
+ 19
416
+ 20
417
+ 21
441
418
  22
442
- 23
443
- 24
444
- 25
445
- 26
446
- 27
447
- 28
448
- 29
449
- 30
450
- 31
451
- 32
452
- 33
453
- 34
454
- 35
455
- 36
456
- 37
457
- 38
458
- 39
459
- 40
460
- 41
461
- 42
462
- 43
463
- 44
464
- 45
465
- 46
466
- 47</pre>
419
+ 23</pre>
467
420
  </td>
468
421
  <td>
469
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 22</span>
470
-
471
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_database_confs'>database_confs</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_logfile'>logfile</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_setup_database'>setup_database</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_log_level'>log_level</span> <span class='op'>=</span> <span class='int'>0</span><span class='rparen'>)</span>
472
- <span class='kw'>if</span> <span class='id identifier rubyid_database_confs'>database_confs</span>
473
- <span class='kw'>if</span> <span class='id identifier rubyid_database_confs'>database_confs</span><span class='period'>.</span><span class='id identifier rubyid_instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
474
- <span class='ivar'>@database_confs</span> <span class='op'>=</span> <span class='id identifier rubyid_database_confs'>database_confs</span>
475
- <span class='kw'>else</span>
476
- <span class='comment'># Load the yaml file
477
- </span> <span class='kw'>if</span> <span class='const'>FileTest</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_database_confs'>database_confs</span><span class='rparen'>)</span>
478
- <span class='ivar'>@database_confs</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='op'>::</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_database_confs'>database_confs</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>database</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
479
- <span class='kw'>else</span>
480
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>BindLogAnalyzer</span><span class='op'>::</span><span class='const'>DatabaseConfsNotValid</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The indicated YAML file doesn't exist or is invalid</span><span class='tstring_end'>&quot;</span></span>
481
- <span class='kw'>end</span>
482
- <span class='kw'>end</span>
483
- <span class='kw'>else</span>
484
- <span class='comment'># Tries to find the yaml file or prints an error
485
- </span> <span class='id identifier rubyid_filename'>filename</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>database.yml</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
486
- <span class='kw'>if</span> <span class='const'>FileTest</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
487
- <span class='ivar'>@database_confs</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='op'>::</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>database</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
488
- <span class='kw'>else</span>
489
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>BindLogAnalyzer</span><span class='op'>::</span><span class='const'>DatabaseConfsNotValid</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Can't find valid database configurations</span><span class='tstring_end'>&quot;</span></span>
490
- <span class='kw'>end</span>
491
- <span class='kw'>end</span>
492
-
422
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 19</span>
423
+
424
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_database_params'>database_params</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_logfile'>logfile</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_setup_database'>setup_database</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_log_level'>log_level</span> <span class='op'>=</span> <span class='int'>0</span><span class='rparen'>)</span>
493
425
  <span class='ivar'>@stored_queries</span> <span class='op'>=</span> <span class='int'>0</span>
494
426
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_logfile'>logfile</span> <span class='op'>=</span> <span class='id identifier rubyid_logfile'>logfile</span> <span class='kw'>if</span> <span class='id identifier rubyid_logfile'>logfile</span>
495
- <span class='id identifier rubyid_setup_db'>setup_db</span><span class='lparen'>(</span><span class='ivar'>@database_confs</span><span class='comma'>,</span> <span class='id identifier rubyid_setup_database'>setup_database</span><span class='comma'>,</span> <span class='id identifier rubyid_log_level'>log_level</span><span class='rparen'>)</span>
427
+ <span class='id identifier rubyid_setup_db'>setup_db</span><span class='lparen'>(</span><span class='id identifier rubyid_database_params'>database_params</span><span class='comma'>,</span> <span class='id identifier rubyid_setup_database'>setup_database</span><span class='comma'>,</span> <span class='id identifier rubyid_log_level'>log_level</span><span class='rparen'>)</span>
496
428
  <span class='kw'>end</span></pre>
497
429
  </td>
498
430
  </tr>
@@ -505,70 +437,10 @@ informations</p>
505
437
  <h2>Instance Attribute Details</h2>
506
438
 
507
439
 
508
- <span id=""></span>
509
- <span id="database_confs-instance_method"></span>
510
- <div class="method_details first">
511
- <p class="signature first" id="database_confs-instance_method">
512
-
513
- - (<tt>Hash</tt>) <strong>database_confs</strong> <span class="extras">(readonly)</span>
514
-
515
-
516
-
517
- </p><div class="docstring">
518
- <div class="discussion">
519
-
520
- <p>The hash containing the database params and credentials</p>
521
-
522
-
523
- </div>
524
- </div>
525
- <div class="tags">
526
-
527
- <h3>Returns:</h3>
528
- <ul class="return">
529
-
530
- <li>
531
-
532
-
533
- <span class='type'>(<tt>Hash</tt>)</span>
534
-
535
-
536
-
537
- &mdash;
538
- <div class='inline'>
539
- <p>The hash containing the database params and credentials</p>
540
- </div>
541
-
542
- </li>
543
-
544
- </ul>
545
-
546
- </div><table class="source_code">
547
- <tr>
548
- <td>
549
- <pre class="lines">
550
-
551
-
552
- 15
553
- 16
554
- 17</pre>
555
- </td>
556
- <td>
557
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 15</span>
558
-
559
- <span class='kw'>def</span> <span class='id identifier rubyid_database_confs'>database_confs</span>
560
- <span class='ivar'>@database_confs</span>
561
- <span class='kw'>end</span></pre>
562
- </td>
563
- </tr>
564
- </table>
565
- </div>
566
-
567
-
568
440
  <span id=""></span>
569
441
  <span id="log_filename-instance_method"></span>
570
- <div class="method_details ">
571
- <p class="signature " id="log_filename-instance_method">
442
+ <div class="method_details first">
443
+ <p class="signature first" id="log_filename-instance_method">
572
444
 
573
445
  - (<tt>String</tt>) <strong>log_filename</strong> <span class="extras">(readonly)</span>
574
446
 
@@ -674,23 +546,23 @@ and passes wvery line to #parse_line and #store_query</p>
674
546
  <pre class="lines">
675
547
 
676
548
 
677
- 96
678
- 97
679
- 98
680
- 99
681
- 100
682
- 101
683
- 102
684
- 103
685
- 104
686
- 105
687
- 106
688
- 107
689
- 108
690
- 109</pre>
549
+ 72
550
+ 73
551
+ 74
552
+ 75
553
+ 76
554
+ 77
555
+ 78
556
+ 79
557
+ 80
558
+ 81
559
+ 82
560
+ 83
561
+ 84
562
+ 85</pre>
691
563
  </td>
692
564
  <td>
693
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 96</span>
565
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 72</span>
694
566
 
695
567
  <span class='kw'>def</span> <span class='id identifier rubyid_analyze'>analyze</span>
696
568
  <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='ivar'>@log_filename</span>
@@ -753,12 +625,12 @@ and passes wvery line to #parse_line and #store_query</p>
753
625
  <pre class="lines">
754
626
 
755
627
 
756
- 57
757
- 58
758
- 59</pre>
628
+ 33
629
+ 34
630
+ 35</pre>
759
631
  </td>
760
632
  <td>
761
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 57</span>
633
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 33</span>
762
634
 
763
635
  <span class='kw'>def</span> <span class='id identifier rubyid_logfile'>logfile</span>
764
636
  <span class='ivar'>@log_filename</span>
@@ -812,12 +684,12 @@ and passes wvery line to #parse_line and #store_query</p>
812
684
  <pre class="lines">
813
685
 
814
686
 
815
- 51
816
- 52
817
- 53</pre>
687
+ 27
688
+ 28
689
+ 29</pre>
818
690
  </td>
819
691
  <td>
820
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 51</span>
692
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 27</span>
821
693
 
822
694
  <span class='kw'>def</span> <span class='id identifier rubyid_logfile='>logfile=</span><span class='lparen'>(</span><span class='id identifier rubyid_logfile'>logfile</span><span class='rparen'>)</span>
823
695
  <span class='ivar'>@log_filename</span> <span class='op'>=</span> <span class='id identifier rubyid_logfile'>logfile</span> <span class='kw'>if</span> <span class='const'>FileTest</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_logfile'>logfile</span><span class='rparen'>)</span>
@@ -889,30 +761,30 @@ and passes wvery line to #parse_line and #store_query</p>
889
761
  <pre class="lines">
890
762
 
891
763
 
892
- 64
893
- 65
894
- 66
895
- 67
896
- 68
897
- 69
898
- 70
899
- 71
900
- 72
901
- 73
902
- 74
903
- 75
904
- 76
905
- 77
906
- 78
907
- 79
908
- 80
909
- 81
910
- 82
911
- 83
912
- 84</pre>
764
+ 40
765
+ 41
766
+ 42
767
+ 43
768
+ 44
769
+ 45
770
+ 46
771
+ 47
772
+ 48
773
+ 49
774
+ 50
775
+ 51
776
+ 52
777
+ 53
778
+ 54
779
+ 55
780
+ 56
781
+ 57
782
+ 58
783
+ 59
784
+ 60</pre>
913
785
  </td>
914
786
  <td>
915
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 64</span>
787
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 40</span>
916
788
 
917
789
  <span class='kw'>def</span> <span class='id identifier rubyid_parse_line'>parse_line</span><span class='lparen'>(</span><span class='id identifier rubyid_line'>line</span><span class='rparen'>)</span>
918
790
  <span class='id identifier rubyid_query'>query</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -985,13 +857,13 @@ successful</p>
985
857
  <pre class="lines">
986
858
 
987
859
 
988
- 88
989
- 89
990
- 90
991
- 91</pre>
860
+ 64
861
+ 65
862
+ 66
863
+ 67</pre>
992
864
  </td>
993
865
  <td>
994
- <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 88</span>
866
+ <pre class="code"><span class="info file"># File 'lib/bind_log_analyzer/base.rb', line 64</span>
995
867
 
996
868
  <span class='kw'>def</span> <span class='id identifier rubyid_store_query'>store_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
997
869
  <span class='id identifier rubyid_log'>log</span> <span class='op'>=</span> <span class='const'>Log</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
@@ -1007,7 +879,7 @@ successful</p>
1007
879
  </div>
1008
880
 
1009
881
  <div id="footer">
1010
- Generated on Tue Apr 3 17:01:09 2012 by
882
+ Generated on Thu Apr 5 16:11:31 2012 by
1011
883
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1012
884
  0.7.5 (ruby-1.9.3).
1013
885
  </div>