6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/app_perf_rpm/instruments/activerecord_import.rb', line 6
def insert_many_with_trace( sql, values, *args )
if ::AppPerfRpm::Tracer.tracing?
sql_copy = sql.dup
base_sql, post_sql = if sql_copy.dup.is_a?( String )
[sql_copy, '']
elsif sql.is_a?( Array )
[sql_copy.shift, sql_copy.join( ' ' )]
end
adapter = ::ActiveRecord::Base.connection_config[:adapter]
sanitized_sql = sanitize_sql(base_sql + values.join( ',' ) + post_sql, adapter)
AppPerfRpm::Tracer.trace('activerecord') do |span|
span.options = {
"adapter" => adapter,
"query" => sanitized_sql,
"name" => self.class.name
}
insert_many_without_trace(sql, values, *args)
end
else
insert_many_without_trace(sql, values, *args)
end
end
|