Class: AppMap::Handler::Rails::SQLHandler
- Defined in:
- lib/appmap/handler/rails/sql_handler.rb
Defined Under Namespace
Modules: SQLExaminer Classes: SQLCall, SQLReturn
Instance Method Summary collapse
-
#call(_, started, finished, _, payload) ⇒ Object
(name, started, finished, unique_id, payload).
Instance Method Details
#call(_, started, finished, _, payload) ⇒ Object
(name, started, finished, unique_id, payload)
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 102 def call(_, started, finished, _, payload) # (name, started, finished, unique_id, payload) return if AppMap.tracing.empty? reentry_key = "#{self.class.name}#call" return if Thread.current[reentry_key] == true Thread.current[reentry_key] = true begin sql = payload[:sql].strip SQLExaminer.examine payload, sql: sql call = SQLCall.new(payload) AppMap.tracing.record_event(call) AppMap.tracing.record_event(SQLReturn.new(call.id, finished - started)) ensure Thread.current[reentry_key] = nil end end |