class TCellAgent::MyRailtie
Public Instance Methods
find_by_sql(*args)
click to toggle source
# File lib/tcell_agent/rails/dlp.rb, line 262 def find_by_sql(*args) results = tcell_find_by_sql(*args) TCellAgent::Instrumentation.safe_block('Running DLP on find_by_sql') do TCellAgent::DLP.instrument_find_by_sql(results) end results end
pluck(*column_names)
click to toggle source
# File lib/tcell_agent/rails/dlp.rb, line 248 def pluck(*column_names) results = tcell_pluck(*column_names) TCellAgent::Instrumentation.safe_block('Running DLP on pluck') do TCellAgent::DLP.instrument_pluck(results, column_names, model) end results end
translate_exception(exception, message)
click to toggle source
# File lib/tcell_agent/rails/dlp.rb, line 218 def translate_exception(exception, message) result = tcell_translate_exception(exception, message) TCellAgent::Instrumentation.safe_block('Set sql_exception_detected in meta') do appfirewall_policy = TCellAgent.policy(TCellAgent::PolicyTypes::APPSENSOR) if appfirewall_policy.enabled request_env = TCellAgent::Instrumentation::Rails::Middleware::ContextMiddleware::THREADS.fetch( Thread.current.object_id, {} ) tcell_data = request_env[TCellAgent::Instrumentation::TCELL_ID] if tcell_data && result.is_a?(ActiveRecord::StatementInvalid) if message.is_a? Hash tcell_data.sql_exceptions.push( { 'exception_name' => result.class.name, 'exception_payload' => message[:message] } ) else tcell_data.sql_exceptions.push( { 'exception_name' => result.class.name, 'exception_payload' => message } ) end end end end result end