Class: LoggedQuery
- Inherits:
-
Object
- Object
- LoggedQuery
- Defined in:
- lib/sql-logging/logged_query.rb
Instance Attribute Summary collapse
-
#backtrace ⇒ Object
Returns the value of attribute backtrace.
-
#bytes ⇒ Object
Returns the value of attribute bytes.
-
#name ⇒ Object
Returns the value of attribute name.
-
#queries ⇒ Object
Returns the value of attribute queries.
-
#rows ⇒ Object
Returns the value of attribute rows.
-
#sql ⇒ Object
Returns the value of attribute sql.
Instance Method Summary collapse
- #[](key) ⇒ Object
-
#initialize(sql, name, backtrace) ⇒ LoggedQuery
constructor
A new instance of LoggedQuery.
- #log_query(rows, bytes, time) ⇒ Object
- #max_time ⇒ Object
- #median_time ⇒ Object
- #min_time ⇒ Object
- #total_time ⇒ Object
Constructor Details
#initialize(sql, name, backtrace) ⇒ LoggedQuery
Returns a new instance of LoggedQuery.
4 5 6 7 8 9 10 11 12 |
# File 'lib/sql-logging/logged_query.rb', line 4 def initialize(sql, name, backtrace) @sql = sql @name = name @backtrace = backtrace @queries = 0 @rows = 0 @bytes = 0 @times = [] end |
Instance Attribute Details
#backtrace ⇒ Object
Returns the value of attribute backtrace.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def backtrace @backtrace end |
#bytes ⇒ Object
Returns the value of attribute bytes.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def bytes @bytes end |
#name ⇒ Object
Returns the value of attribute name.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def name @name end |
#queries ⇒ Object
Returns the value of attribute queries.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def queries @queries end |
#rows ⇒ Object
Returns the value of attribute rows.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def rows @rows end |
#sql ⇒ Object
Returns the value of attribute sql.
2 3 4 |
# File 'lib/sql-logging/logged_query.rb', line 2 def sql @sql end |
Instance Method Details
#[](key) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/sql-logging/logged_query.rb', line 21 def [](key) case key.to_sym when :sql @sql when :name @name when :backtrace @backtrace when :queries @queries when :rows @rows when :bytes @bytes when :median_time median_time when :total_time total_time else nil end end |
#log_query(rows, bytes, time) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/sql-logging/logged_query.rb', line 14 def log_query(rows, bytes, time) @queries += 1 @rows += rows @bytes += bytes @times << time end |
#max_time ⇒ Object
51 52 53 |
# File 'lib/sql-logging/logged_query.rb', line 51 def max_time @times.max end |
#median_time ⇒ Object
43 44 45 |
# File 'lib/sql-logging/logged_query.rb', line 43 def median_time total_time / @times.length end |
#min_time ⇒ Object
47 48 49 |
# File 'lib/sql-logging/logged_query.rb', line 47 def min_time @times.min end |
#total_time ⇒ Object
55 56 57 |
# File 'lib/sql-logging/logged_query.rb', line 55 def total_time @times.inject(0) { |sum, time| sum += time } end |