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)
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/appmap/handler/rails/sql_handler.rb', line 142 def call(_, started, finished, _, payload) # (name, started, finished, unique_id, payload) return if AppMap.tracing.empty? return if Thread.current[AppMap::Hook::Method::HOOK_DISABLE_KEY] == true 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 |