Class: Sequel::Database
- Inherits:
-
Object
- Object
- Sequel::Database
- Defined in:
- lib/instruments.rb
Instance Method Summary collapse
- #action(sql) ⇒ Object
- #log_duration(t, sql) ⇒ Object
- #log_exception(e, sql) ⇒ Object
- #log_yield(sql, args = nil) ⇒ Object
Instance Method Details
#action(sql) ⇒ Object
100 101 102 |
# File 'lib/instruments.rb', line 100 def action(sql) sql[/(\w+){1}/].downcase end |
#log_duration(t, sql) ⇒ Object
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/instruments.rb', line 85 def log_duration(t, sql) level = if t > DB_ERROR :error elsif t > DB_WARN :warning else :info end Instruments.write(:level => level, :action => action(sql), :elapsed => t, :sql => sql) end |
#log_exception(e, sql) ⇒ Object
96 97 98 |
# File 'lib/instruments.rb', line 96 def log_exception(e, sql) Instruments.write(:error => true, :exception => e.class, :sql => sql) end |
#log_yield(sql, args = nil) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/instruments.rb', line 71 def log_yield(sql, args=nil) sql = "#{sql}; #{args.inspect}" if args t0 = Time.now begin yield rescue => e log_exception(e, sql) raise ensure t1 = Time.now log_duration(Integer((t1-t0)*1000), sql) unless e end end |