class CanvasStatsd::DefaultTracking

Public Class Methods

track_active_record() click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 11
def self.track_active_record
  return if @ar_counter
  require 'aroi'

  ::Aroi::Instrumentation.instrument_creation!
  @ar_counter = CanvasStatsd::Counter.new('active_record')
  ActiveSupport::Notifications.subscribe(/instance\.active_record/) {|*args| update_active_record_count(*args)}
end
track_cache() click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 20
def self.track_cache
  return if @cache_read_counter

  @cache_read_counter = CanvasStatsd::Counter.new('cache.read')
  ActiveSupport::Notifications.subscribe(/cache_read\.active_support/) {|*args| update_cache_read_count(*args)}
end
track_sql() click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 5
def self.track_sql
  return if @sql_tracker
  @sql_tracker = CanvasStatsd::SqlTracker.new(blocked_names: ['SCHEMA'])
  ActiveSupport::Notifications.subscribe(/sql\.active_record/) {|*args| update_sql_count(*args)}
end

Private Class Methods

update_active_record_count(_name, _start, _finish, _id, payload) click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 33
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) click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 37
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) click to toggle source
# File lib/canvas_statsd/default_tracking.rb, line 29
def self.update_sql_count(_name, _start, _finish, _id, payload)
  @sql_tracker.track payload.fetch(:name), payload.fetch(:sql)
end