Module: NewRelic::Security::Instrumentation::SQLite3::Statement
- Included in:
- Prepend
- Defined in:
- lib/newrelic_security/instrumentation-security/sqlite3/chain.rb,
lib/newrelic_security/instrumentation-security/sqlite3/prepend.rb,
lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb
Defined Under Namespace
Instance Method Summary collapse
- #bind_params_on_enter(*bind_vars) ⇒ Object
- #bind_params_on_exit(event) ⇒ Object
- #execute_on_enter(*bind_vars) ⇒ Object
- #execute_on_exit(event) ⇒ Object
- #initialize_on_enter(db, sql) ⇒ Object
- #initialize_on_exit(event, retval, sql) ⇒ Object
Instance Method Details
#bind_params_on_enter(*bind_vars) ⇒ Object
102 103 104 105 106 107 108 109 110 111 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 102 def bind_params_on_enter(*bind_vars) event = nil NewRelic::Security::Agent.logger.debug "OnEnter : #{self.class}.#{__method__}" NewRelic::Security::Agent::Control::HTTPContext.get_context.cache[self.object_id][:parameters] = bind_vars.flatten if NewRelic::Security::Agent::Control::HTTPContext.get_context && NewRelic::Security::Agent::Control::HTTPContext.get_context.cache.key?(self.object_id) rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield return event end |
#bind_params_on_exit(event) ⇒ Object
113 114 115 116 117 118 119 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 113 def bind_params_on_exit(event) NewRelic::Security::Agent.logger.debug "OnExit : #{self.class}.#{__method__}" rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield end |
#execute_on_enter(*bind_vars) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 121 def execute_on_enter(*bind_vars) event = nil NewRelic::Security::Agent.logger.debug "OnEnter : #{self.class}.#{__method__}" ic_args = [] key = self.object_id if NewRelic::Security::Agent::Control::HTTPContext.get_context && NewRelic::Security::Agent::Control::HTTPContext.get_context.cache.key?(self.object_id) if bind_vars.length == 0 ic_args.push(NewRelic::Security::Agent::Control::HTTPContext.get_context.cache[key]) else hash = {} hash[:sql] = NewRelic::Security::Agent::Control::HTTPContext.get_context.cache[key][:sql] hash[:parameters] = bind_vars.flatten ic_args.push(hash) end end if ic_args[0].has_key?(:sql) event = NewRelic::Security::Agent::Control::Collector.collect(SQL_DB_COMMAND, ic_args, SQLITE) unless NewRelic::Security::Instrumentation::InstrumentationUtils.sql_filter_events?(ic_args[0][:sql]) else event = NewRelic::Security::Agent::Control::Collector.collect(SQL_DB_COMMAND, ic_args, SQLITE) end NewRelic::Security::Agent::Control::HTTPContext.get_context.cache.delete(key) if NewRelic::Security::Agent::Control::HTTPContext.get_context rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield return event end |
#execute_on_exit(event) ⇒ Object
149 150 151 152 153 154 155 156 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 149 def execute_on_exit(event) NewRelic::Security::Agent.logger.debug "OnExit : #{self.class}.#{__method__}" NewRelic::Security::Agent::Utils.create_exit_event(event) rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield end |
#initialize_on_enter(db, sql) ⇒ Object
83 84 85 86 87 88 89 90 91 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 83 def initialize_on_enter(db, sql) event = nil NewRelic::Security::Agent.logger.debug "OnEnter : #{self.class}.#{__method__}" rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield return event end |
#initialize_on_exit(event, retval, sql) ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'lib/newrelic_security/instrumentation-security/sqlite3/instrumentation.rb', line 93 def initialize_on_exit(event, retval, sql) NewRelic::Security::Agent.logger.debug "OnExit : #{self.class}.#{__method__}" NewRelic::Security::Agent::Control::HTTPContext.get_context.cache[retval.object_id] = { :sql => sql } if NewRelic::Security::Agent::Control::HTTPContext.get_context rescue => exception NewRelic::Security::Agent.logger.error "Exception in hook in #{self.class}.#{__method__}, #{exception.inspect}, #{exception.backtrace}" ensure yield end |