rack-mini-profiler 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +2 -1
  4. data/lib/html/includes.css +5 -5
  5. data/lib/html/includes.js +38 -3
  6. data/lib/html/includes.scss +1 -1
  7. data/lib/html/includes.tmpl +5 -0
  8. data/lib/html/profile_handler.js +1 -1
  9. data/lib/mini_profiler/asset_version.rb +1 -1
  10. data/lib/mini_profiler/client_settings.rb +11 -12
  11. data/lib/mini_profiler/config.rb +17 -17
  12. data/lib/mini_profiler/context.rb +3 -3
  13. data/lib/mini_profiler/gc_profiler.rb +15 -16
  14. data/lib/mini_profiler/profiler.rb +50 -54
  15. data/lib/mini_profiler/profiling_methods.rb +4 -4
  16. data/lib/mini_profiler/storage/file_store.rb +10 -7
  17. data/lib/mini_profiler/storage/memcache_store.rb +4 -5
  18. data/lib/mini_profiler/storage/memory_store.rb +2 -3
  19. data/lib/mini_profiler/storage/redis_store.rb +2 -2
  20. data/lib/mini_profiler/timer_struct/base.rb +2 -2
  21. data/lib/mini_profiler/timer_struct/client.rb +6 -7
  22. data/lib/mini_profiler/timer_struct/custom.rb +4 -4
  23. data/lib/mini_profiler/timer_struct/page.rb +26 -25
  24. data/lib/mini_profiler/timer_struct/request.rb +25 -24
  25. data/lib/mini_profiler/timer_struct/sql.rb +20 -20
  26. data/lib/mini_profiler/version.rb +1 -1
  27. data/lib/mini_profiler_rails/railtie.rb +3 -3
  28. data/lib/patches/db/activerecord.rb +2 -2
  29. data/lib/patches/db/moped.rb +2 -2
  30. data/lib/patches/db/mysql2.rb +5 -5
  31. data/lib/patches/db/nobrainer.rb +1 -1
  32. data/lib/patches/db/pg.rb +34 -16
  33. data/lib/patches/db/riak.rb +11 -11
  34. data/lib/patches/db/rsolr.rb +2 -2
  35. data/rack-mini-profiler.gemspec +5 -4
  36. metadata +18 -4
@@ -6,7 +6,7 @@ module Rack
6
6
  # A base class for timing structures
7
7
  class Base
8
8
 
9
- def initialize(attrs={})
9
+ def initialize(attrs = {})
10
10
  @attributes = attrs
11
11
  end
12
12
 
@@ -26,7 +26,7 @@ module Rack
26
26
  def to_json(*a)
27
27
  # this does could take in an option hash, but the only interesting there is max_nesting.
28
28
  # if this becomes an option we could increase
29
- ::JSON.generate( @attributes, :max_nesting => 100 )
29
+ ::JSON.generate(@attributes, max_nesting: 100)
30
30
  end
31
31
 
32
32
  def as_json(options = nil)
@@ -24,8 +24,7 @@ module Rack
24
24
  wrapped
25
25
  end
26
26
 
27
-
28
- def initialize(env={})
27
+ def initialize(env = {})
29
28
  super
30
29
  end
31
30
 
@@ -62,21 +61,21 @@ module Rack
62
61
  end
63
62
 
64
63
  translated.each do |name, data|
65
- h = {"Name" => name, "Start" => data[:start].to_i - baseTime}
64
+ h = { "Name" => name, "Start" => data[:start].to_i - baseTime }
66
65
  h["Duration"] = data[:finish].to_i - data[:start].to_i if data[:finish]
67
66
  timings.push(h)
68
67
  end
69
68
 
70
- clientTimes.keys.find_all{|k| k =~ /Start$/ }.each do |k|
69
+ clientTimes.keys.find_all { |k| k =~ /Start$/ }.each do |k|
71
70
  start = clientTimes[k].to_i - baseTime
72
71
  finish = clientTimes[k.sub(/Start$/, "End")].to_i - baseTime
73
72
  duration = 0
74
73
  duration = finish - start if finish > start
75
- name = k.sub(/Start$/, "").split(/(?=[A-Z])/).map{|s| s.capitalize}.join(' ')
76
- timings.push({"Name" => name, "Start" => start, "Duration" => duration}) if start >= 0
74
+ name = k.sub(/Start$/, "").split(/(?=[A-Z])/).map { |s| s.capitalize }.join(' ')
75
+ timings.push("Name" => name, "Start" => start, "Duration" => duration) if start >= 0
77
76
  end
78
77
 
79
- clientTimes.keys.find_all{|k| !(k =~ /(End|Start)$/)}.each do |k|
78
+ clientTimes.keys.find_all { |k| !(k =~ /(End|Start)$/) }.each do |k|
80
79
  timings.push("Name" => k, "Start" => clientTimes[k].to_i - baseTime, "Duration" => -1)
81
80
  end
82
81
 
@@ -12,10 +12,10 @@ module Rack
12
12
  @type = type
13
13
  start_millis = ((Process.clock_gettime(Process::CLOCK_MONOTONIC) * 1000).to_i - page[:started]) - duration_ms
14
14
  super(
15
- :type => type,
16
- :start_milliseconds => start_millis,
17
- :duration_milliseconds => duration_ms,
18
- :parent_timing_id => nil
15
+ type: type,
16
+ start_milliseconds: start_millis,
17
+ duration_milliseconds: duration_ms,
18
+ parent_timing_id: nil
19
19
  )
20
20
  end
21
21
  end
@@ -17,28 +17,29 @@ module Rack
17
17
  started = (Process.clock_gettime(Process::CLOCK_MONOTONIC) * 1000).to_i
18
18
  machine_name = env['SERVER_NAME']
19
19
  super(
20
- :id => timer_id,
21
- :name => page_name,
22
- :started => started,
23
- :started_at => started_at,
24
- :machine_name => machine_name,
25
- :level => 0,
26
- :user => "unknown user",
27
- :has_user_viewed => false,
28
- :client_timings => nil,
29
- :duration_milliseconds => 0,
30
- :has_trivial_timings => true,
31
- :has_all_trivial_timings => false,
32
- :trivial_duration_threshold_milliseconds => 2,
33
- :head => nil,
34
- :duration_milliseconds_in_sql => 0,
35
- :has_sql_timings => true,
36
- :has_duplicate_sql_timings => false,
37
- :executed_readers => 0,
38
- :executed_scalars => 0,
39
- :executed_non_queries => 0,
40
- :custom_timing_names => [],
41
- :custom_timing_stats => {}
20
+ id: timer_id,
21
+ name: page_name,
22
+ started: started,
23
+ started_at: started_at,
24
+ machine_name: machine_name,
25
+ level: 0,
26
+ user: "unknown user",
27
+ has_user_viewed: false,
28
+ client_timings: nil,
29
+ duration_milliseconds: 0,
30
+ has_trivial_timings: true,
31
+ has_all_trivial_timings: false,
32
+ trivial_duration_threshold_milliseconds: 2,
33
+ head: nil,
34
+ sql_count: 0,
35
+ duration_milliseconds_in_sql: 0,
36
+ has_sql_timings: true,
37
+ has_duplicate_sql_timings: false,
38
+ executed_readers: 0,
39
+ executed_scalars: 0,
40
+ executed_non_queries: 0,
41
+ custom_timing_names: [],
42
+ custom_timing_stats: {}
42
43
  )
43
44
  name = "#{env['REQUEST_METHOD']} http://#{env['SERVER_NAME']}:#{env['SERVER_PORT']}#{env['SCRIPT_NAME']}#{env['PATH_INFO']}"
44
45
  self[:root] = TimerStruct::Request.createRoot(name, self)
@@ -70,9 +71,9 @@ module Rack
70
71
 
71
72
  def extra_json
72
73
  {
73
- :started => '/Date(%d)/' % @attributes.delete(:started_at),
74
- :duration_milliseconds => @attributes[:root][:duration_milliseconds],
75
- :custom_timing_names => @attributes[:custom_timing_stats].keys.sort
74
+ started: '/Date(%d)/' % @attributes[:started_at],
75
+ duration_milliseconds: @attributes[:root][:duration_milliseconds],
76
+ custom_timing_names: @attributes[:custom_timing_stats].keys.sort
76
77
  }
77
78
  end
78
79
  end
@@ -17,28 +17,28 @@ module Rack
17
17
  start_millis = (Process.clock_gettime(Process::CLOCK_MONOTONIC) * 1000).to_i - page[:started]
18
18
  depth = parent ? parent.depth + 1 : 0
19
19
  super(
20
- :id => MiniProfiler.generate_id,
21
- :name => name,
22
- :duration_milliseconds => 0,
23
- :duration_without_children_milliseconds => 0,
24
- :start_milliseconds => start_millis,
25
- :parent_timing_id => nil,
26
- :children => [],
27
- :has_children => false,
28
- :key_values => nil,
29
- :has_sql_timings => false,
30
- :has_duplicate_sql_timings => false,
31
- :trivial_duration_threshold_milliseconds => 2,
32
- :sql_timings => [],
33
- :sql_timings_duration_milliseconds => 0,
34
- :is_trivial => false,
35
- :is_root => false,
36
- :depth => depth,
37
- :executed_readers => 0,
38
- :executed_scalars => 0,
39
- :executed_non_queries => 0,
40
- :custom_timing_stats => {},
41
- :custom_timings => {}
20
+ id: MiniProfiler.generate_id,
21
+ name: name,
22
+ duration_milliseconds: 0,
23
+ duration_without_children_milliseconds: 0,
24
+ start_milliseconds: start_millis,
25
+ parent_timing_id: nil,
26
+ children: [],
27
+ has_children: false,
28
+ key_values: nil,
29
+ has_sql_timings: false,
30
+ has_duplicate_sql_timings: false,
31
+ trivial_duration_threshold_milliseconds: 2,
32
+ sql_timings: [],
33
+ sql_timings_duration_milliseconds: 0,
34
+ is_trivial: false,
35
+ is_root: false,
36
+ depth: depth,
37
+ executed_readers: 0,
38
+ executed_scalars: 0,
39
+ executed_non_queries: 0,
40
+ custom_timing_stats: {},
41
+ custom_timings: {}
42
42
  )
43
43
  @children_duration = 0
44
44
  @start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
@@ -98,6 +98,7 @@ module Rack
98
98
  self[:has_sql_timings] = true
99
99
  self[:sql_timings_duration_milliseconds] += elapsed_ms
100
100
  page[:duration_milliseconds_in_sql] += elapsed_ms
101
+ page[:sql_count] += 1
101
102
  end
102
103
  end
103
104
 
@@ -108,11 +109,11 @@ module Rack
108
109
  self[:custom_timings][type] ||= []
109
110
  self[:custom_timings][type].push(timer)
110
111
 
111
- self[:custom_timing_stats][type] ||= {:count => 0, :duration => 0.0}
112
+ self[:custom_timing_stats][type] ||= { count: 0, duration: 0.0 }
112
113
  self[:custom_timing_stats][type][:count] += 1
113
114
  self[:custom_timing_stats][type][:duration] += elapsed_ms
114
115
 
115
- page[:custom_timing_stats][type] ||= {:count => 0, :duration => 0.0}
116
+ page[:custom_timing_stats][type] ||= { count: 0, duration: 0.0 }
116
117
  page[:custom_timing_stats][type][:count] += 1
117
118
  page[:custom_timing_stats][type][:duration] += elapsed_ms
118
119
  end
@@ -12,18 +12,18 @@ module Rack
12
12
  unless skip_backtrace || duration_ms < Rack::MiniProfiler.config.backtrace_threshold_ms
13
13
  # Allow us to filter the stack trace
14
14
  stack_trace = "".dup
15
- # Clean up the stack trace if there are options to do so
15
+ # Clean up the stack trace if there are options to do so
16
16
  Kernel.caller.each do |ln|
17
- ln.gsub!(Rack::MiniProfiler.config.backtrace_remove, '') if Rack::MiniProfiler.config.backtrace_remove and !full_backtrace
18
- if full_backtrace or
17
+ ln.gsub!(Rack::MiniProfiler.config.backtrace_remove, '') if Rack::MiniProfiler.config.backtrace_remove && !full_backtrace
18
+ if full_backtrace ||
19
19
  (
20
20
  (
21
- Rack::MiniProfiler.config.backtrace_includes.nil? or
22
- Rack::MiniProfiler.config.backtrace_includes.any?{|regex| ln =~ regex}
23
- ) and
21
+ Rack::MiniProfiler.config.backtrace_includes.nil? ||
22
+ Rack::MiniProfiler.config.backtrace_includes.any? { |regex| ln =~ regex }
23
+ ) &&
24
24
  (
25
- Rack::MiniProfiler.config.backtrace_ignores.nil? or
26
- Rack::MiniProfiler.config.backtrace_ignores.none?{|regex| ln =~ regex}
25
+ Rack::MiniProfiler.config.backtrace_ignores.nil? ||
26
+ Rack::MiniProfiler.config.backtrace_ignores.none? { |regex| ln =~ regex }
27
27
  )
28
28
  )
29
29
  stack_trace << ln << "\n"
@@ -35,15 +35,15 @@ module Rack
35
35
  @page = page
36
36
  start_millis = ((Process.clock_gettime(Process::CLOCK_MONOTONIC) * 1000).to_i - page[:started]) - duration_ms
37
37
  super(
38
- :execute_type => 3, # TODO
39
- :formatted_command_string => query,
40
- :stack_trace_snippet => stack_trace,
41
- :start_milliseconds => start_millis,
42
- :duration_milliseconds => duration_ms,
43
- :first_fetch_duration_milliseconds => duration_ms,
44
- :parameters => trim_binds(params),
45
- :parent_timing_id => nil,
46
- :is_duplicate => false
38
+ execute_type: 3, # TODO
39
+ formatted_command_string: query,
40
+ stack_trace_snippet: stack_trace,
41
+ start_milliseconds: start_millis,
42
+ duration_milliseconds: duration_ms,
43
+ first_fetch_duration_milliseconds: duration_ms,
44
+ parameters: trim_binds(params),
45
+ parent_timing_id: nil,
46
+ is_duplicate: false
47
47
  )
48
48
  end
49
49
 
@@ -58,18 +58,18 @@ module Rack
58
58
  def trim_binds(binds)
59
59
  max_len = Rack::MiniProfiler.config.max_sql_param_length
60
60
  return if binds.nil? || max_len == 0
61
- return binds.map{|(name, val)| [name, val]} if max_len.nil?
61
+ return binds.map { |(name, val)| [name, val] } if max_len.nil?
62
62
  binds.map do |(name, val)|
63
63
  val ||= name
64
64
  if val.nil? || val == true || val == false || val.kind_of?(Numeric)
65
65
  # keep these parameters as is
66
66
  elsif val.kind_of?(String)
67
- val = val[0...max_len]+(max_len < val.length ? '...' : '') if max_len
67
+ val = val[0...max_len] + (max_len < val.length ? '...' : '') if max_len
68
68
  else
69
69
  val = val.class.name
70
70
  end
71
71
  if name.kind_of?(String)
72
- name = name[0...max_len]+(max_len < name.length ? '...' : '') if max_len
72
+ name = name[0...max_len] + (max_len < name.length ? '...' : '') if max_len
73
73
  end
74
74
  [name, val]
75
75
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rack
4
4
  class MiniProfiler
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.1'
6
6
  end
7
7
  end
@@ -44,7 +44,7 @@ module Rack::MiniProfilerRails
44
44
  base_path = Rails.application.config.paths['tmp'].first rescue "#{Rails.root}/tmp"
45
45
  tmp = base_path + '/miniprofiler'
46
46
 
47
- c.storage_options = {:path => tmp}
47
+ c.storage_options = { path: tmp }
48
48
  c.storage = Rack::MiniProfiler::FileStore
49
49
  end
50
50
 
@@ -58,10 +58,10 @@ module Rack::MiniProfilerRails
58
58
 
59
59
  # Attach to various Rails methods
60
60
  ActiveSupport.on_load(:action_controller) do
61
- ::Rack::MiniProfiler.profile_method(ActionController::Base, :process) {|action| "Executing action: #{action}"}
61
+ ::Rack::MiniProfiler.profile_method(ActionController::Base, :process) { |action| "Executing action: #{action}" }
62
62
  end
63
63
  ActiveSupport.on_load(:action_view) do
64
- ::Rack::MiniProfiler.profile_method(ActionView::Template, :render) {|x,y| "Rendering: #{@virtual_path}"}
64
+ ::Rack::MiniProfiler.profile_method(ActionView::Template, :render) { |x, y| "Rendering: #{@virtual_path}" }
65
65
  end
66
66
 
67
67
  @already_initialized = true
@@ -20,7 +20,7 @@ module Rack
20
20
  # map ActiveRecord::Relation::QueryAttribute to [name, value]
21
21
  params = binds.map { |c| c.kind_of?(Array) ? [c.first, c.last] : [c.name, c.value] }
22
22
  if (skip = Rack::MiniProfiler.config.skip_sql_param_names)
23
- params.map { |(n,v)| n =~ skip ? [n, nil] : [n, v] }
23
+ params.map { |(n, v)| n =~ skip ? [n, nil] : [n, v] }
24
24
  else
25
25
  params
26
26
  end
@@ -34,7 +34,7 @@ module Rack
34
34
  rval = log_without_miniprofiler(*args, &block)
35
35
 
36
36
  # Don't log schema queries if the option is set
37
- return rval if Rack::MiniProfiler.config.skip_schema_queries and name =~ /SCHEMA/
37
+ return rval if Rack::MiniProfiler.config.skip_schema_queries && name =~ (/SCHEMA/)
38
38
 
39
39
  elapsed_time = SqlPatches.elapsed_time(start)
40
40
  Rack::MiniProfiler.record_sql(sql, elapsed_time, binds_to_params(binds))
@@ -3,8 +3,8 @@
3
3
  # Mongoid 3 patches
4
4
  class Moped::Node
5
5
  alias_method :process_without_profiling, :process
6
- def process(*args,&blk)
7
- return process_without_profiling(*args,&blk) unless SqlPatches.should_measure?
6
+ def process(*args, &blk)
7
+ return process_without_profiling(*args, &blk) unless SqlPatches.should_measure?
8
8
 
9
9
  result, _record = SqlPatches.record_sql(args[0].log_inspect) do
10
10
  process_without_profiling(*args, &blk)
@@ -8,7 +8,7 @@ class Mysql2::Result
8
8
  return each_without_profiling(*args, &blk) unless defined?(@miniprofiler_sql_id)
9
9
 
10
10
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
11
- result = each_without_profiling(*args,&blk)
11
+ result = each_without_profiling(*args, &blk)
12
12
  elapsed_time = SqlPatches.elapsed_time(start)
13
13
 
14
14
  @miniprofiler_sql_id.report_reader_duration(elapsed_time)
@@ -18,11 +18,11 @@ end
18
18
 
19
19
  class Mysql2::Client
20
20
  alias_method :query_without_profiling, :query
21
- def query(*args,&blk)
22
- return query_without_profiling(*args,&blk) unless SqlPatches.should_measure?
21
+ def query(*args, &blk)
22
+ return query_without_profiling(*args, &blk) unless SqlPatches.should_measure?
23
23
 
24
- result, record = SqlPatches.record_sql( args[0] ) do
25
- query_without_profiling(*args,&blk)
24
+ result, record = SqlPatches.record_sql(args[0]) do
25
+ query_without_profiling(*args, &blk)
26
26
  end
27
27
  result.instance_variable_set("@miniprofiler_sql_id", record) if result
28
28
  result
@@ -17,7 +17,7 @@ class Rack::MiniProfiler::NoBrainerProfiler
17
17
  # query << "(#{NoBrainer::RQL.type_of(env[:query]).to_s}) "
18
18
 
19
19
  query << "NOT USING INDEX: " if not_indexed
20
- query << env[:query].inspect.gsub(/\n/, '').gsub(/ +/, ' ') + " "
20
+ query << env[:query].inspect.delete("\n").gsub(/ +/, ' ') + " "
21
21
 
22
22
  if env[:exception]
23
23
  query << "exception: #{env[:exception].class} #{env[:exception].message.split("\n").first} "
data/lib/patches/db/pg.rb CHANGED
@@ -8,7 +8,7 @@ class PG::Result
8
8
  def values(*args, &blk)
9
9
  return values_without_profiling(*args, &blk) unless defined?(@miniprofiler_sql_id)
10
10
  mp_report_sql do
11
- values_without_profiling(*args ,&blk)
11
+ values_without_profiling(*args , &blk)
12
12
  end
13
13
  end
14
14
 
@@ -35,7 +35,11 @@ class PG::Connection
35
35
  alias_method :send_query_prepared_without_profiling, :send_query_prepared
36
36
  alias_method :prepare_without_profiling, :prepare
37
37
 
38
- def prepare(*args,&blk)
38
+ if Gem::Version.new(PG::VERSION) >= Gem::Version.new("1.1.0")
39
+ alias_method :exec_params_without_profiling, :exec_params
40
+ end
41
+
42
+ def prepare(*args, &blk)
39
43
  # we have no choice but to do this here,
40
44
  # if we do the check for profiling first, our cache may miss critical stuff
41
45
 
@@ -44,15 +48,15 @@ class PG::Connection
44
48
  # dont leak more than 10k ever
45
49
  @prepare_map = {} if @prepare_map.length > 1000
46
50
 
47
- return prepare_without_profiling(*args,&blk) unless SqlPatches.should_measure?
48
- prepare_without_profiling(*args,&blk)
51
+ return prepare_without_profiling(*args, &blk) unless SqlPatches.should_measure?
52
+ prepare_without_profiling(*args, &blk)
49
53
  end
50
54
 
51
- def exec(*args,&blk)
52
- return exec_without_profiling(*args,&blk) unless SqlPatches.should_measure?
55
+ def exec(*args, &blk)
56
+ return exec_without_profiling(*args, &blk) unless SqlPatches.should_measure?
53
57
 
54
58
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
55
- result = exec_without_profiling(*args,&blk)
59
+ result = exec_without_profiling(*args, &blk)
56
60
  elapsed_time = SqlPatches.elapsed_time(start)
57
61
  record = ::Rack::MiniProfiler.record_sql(args[0], elapsed_time)
58
62
  result.instance_variable_set("@miniprofiler_sql_id", record) if result
@@ -60,11 +64,25 @@ class PG::Connection
60
64
  result
61
65
  end
62
66
 
63
- def exec_prepared(*args,&blk)
64
- return exec_prepared_without_profiling(*args,&blk) unless SqlPatches.should_measure?
67
+ if Gem::Version.new(PG::VERSION) >= Gem::Version.new("1.1.0")
68
+ def exec_params(*args, &blk)
69
+ return exec_params_without_profiling(*args, &blk) unless SqlPatches.should_measure?
70
+
71
+ start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
72
+ result = exec_params_without_profiling(*args, &blk)
73
+ elapsed_time = SqlPatches.elapsed_time(start)
74
+ record = ::Rack::MiniProfiler.record_sql(args[0], elapsed_time)
75
+ result.instance_variable_set("@miniprofiler_sql_id", record) if result
76
+
77
+ result
78
+ end
79
+ end
80
+
81
+ def exec_prepared(*args, &blk)
82
+ return exec_prepared_without_profiling(*args, &blk) unless SqlPatches.should_measure?
65
83
 
66
84
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
67
- result = exec_prepared_without_profiling(*args,&blk)
85
+ result = exec_prepared_without_profiling(*args, &blk)
68
86
  elapsed_time = SqlPatches.elapsed_time(start)
69
87
  mapped = args[0]
70
88
  mapped = @prepare_map[mapped] || args[0] if @prepare_map
@@ -74,11 +92,11 @@ class PG::Connection
74
92
  result
75
93
  end
76
94
 
77
- def send_query_prepared(*args,&blk)
78
- return send_query_prepared_without_profiling(*args,&blk) unless SqlPatches.should_measure?
95
+ def send_query_prepared(*args, &blk)
96
+ return send_query_prepared_without_profiling(*args, &blk) unless SqlPatches.should_measure?
79
97
 
80
98
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
81
- result = send_query_prepared_without_profiling(*args,&blk)
99
+ result = send_query_prepared_without_profiling(*args, &blk)
82
100
  elapsed_time = SqlPatches.elapsed_time(start)
83
101
  mapped = args[0]
84
102
  mapped = @prepare_map[mapped] || args[0] if @prepare_map
@@ -88,11 +106,11 @@ class PG::Connection
88
106
  result
89
107
  end
90
108
 
91
- def async_exec(*args,&blk)
92
- return async_exec_without_profiling(*args,&blk) unless SqlPatches.should_measure?
109
+ def async_exec(*args, &blk)
110
+ return async_exec_without_profiling(*args, &blk) unless SqlPatches.should_measure?
93
111
 
94
112
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
95
- result = exec_without_profiling(*args,&blk)
113
+ result = exec_without_profiling(*args, &blk)
96
114
  elapsed_time = SqlPatches.elapsed_time(start)
97
115
  record = ::Rack::MiniProfiler.record_sql(args[0], elapsed_time)
98
116
  result.instance_variable_set("@miniprofiler_sql_id", record) if result