Class: InstStatsd::DefaultTracking

Inherits:
Object
  • Object
show all
Defined in:
lib/inst_statsd/default_tracking.rb

Class Method Summary collapse

Class Method Details

.track_active_record ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/inst_statsd/default_tracking.rb', line 13

def self.track_active_record
  return if @ar_counter
  require 'aroi'

  ::Aroi::Instrumentation.instrument_creation!
  @ar_counter = InstStatsd::Counter.new('active_record')
  ActiveSupport::Notifications.subscribe(/instance\.active_record/) {|*args| update_active_record_count(*args)}
end

.track_cache ⇒ Object



22
23
24
25
26
27
# File 'lib/inst_statsd/default_tracking.rb', line 22

def self.track_cache
  return if @cache_read_counter

  @cache_read_counter = InstStatsd::Counter.new('cache.read')
  ActiveSupport::Notifications.subscribe(/cache_read\.active_support/) {|*args| update_cache_read_count(*args)}
end

.track_sql ⇒ Object



7
8
9
10
11
# File 'lib/inst_statsd/default_tracking.rb', line 7

def self.track_sql
  return if @sql_tracker
  @sql_tracker = InstStatsd::SqlTracker.new(blocked_names: ['SCHEMA'])
  ActiveSupport::Notifications.subscribe(/sql\.active_record/) {|*args| update_sql_count(*args)}
end

.update_active_record_count(_name, _start, _finish, _id, payload) ⇒ Object



35
36
37
# File 'lib/inst_statsd/default_tracking.rb', line 35

def self.update_active_record_count(_name, _start, _finish, _id, payload)
  @ar_counter.track payload.fetch(:name, '')
end

.update_cache_read_count(_name, _start, _finish, _id, _payload) ⇒ Object



39
40
41
# File 'lib/inst_statsd/default_tracking.rb', line 39

def self.update_cache_read_count(_name, _start, _finish, _id, _payload)
  @cache_read_counter.track "read"
end

.update_sql_count(_name, _start, _finish, _id, payload) ⇒ Object



31
32
33
# File 'lib/inst_statsd/default_tracking.rb', line 31

def self.update_sql_count(_name, _start, _finish, _id, payload)
  @sql_tracker.track payload.fetch(:name), payload.fetch(:sql)
end