Module: AppPerfRpm::Instruments::Sequel
- Included in:
- SequelDatabase, SequelDataset
- Defined in:
- lib/app_perf_rpm/instruments/sequel.rb
Instance Method Summary collapse
Instance Method Details
#parse_opts(sql, opts) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/app_perf_rpm/instruments/sequel.rb', line 9 def parse_opts(sql, opts) if ::Sequel::VERSION < '3.41.0' && !(self.class.to_s =~ /Dataset$/) db_opts = @opts elsif @pool db_opts = @pool.db.opts else db_opts = @db.opts end if ::Sequel::VERSION > '4.36.0' && !sql.is_a?(String) # In 4.37.0, sql was converted to a prepared statement object sql = sql.prepared_sql unless sql.is_a?(Symbol) end { "name" => opts[:type], "query" => sanitize_sql(sql), "database" => db_opts[:database], "host" => db_opts[:host], "adapter" => db_opts[:adapter] } end |
#sanitize_sql(sql) ⇒ Object
4 5 6 7 |
# File 'lib/app_perf_rpm/instruments/sequel.rb', line 4 def sanitize_sql(sql) regexp = Regexp.new('(\'[\s\S][^\']*\'|\d*\.\d+|\d+|NULL)', Regexp::IGNORECASE) sql.to_s.gsub(regexp, '?') end |