class Labkit::Tracing::Rails::ActiveSupport::ActiveSupportSubscriber

ActiveSupport bridges action active support notifications to the distributed tracing subsystem

Constants

CACHE_DELETE_TOPIC
CACHE_FETCH_HIT_TOPIC
CACHE_GENERATE_TOPIC
CACHE_READ_TOPIC
CACHE_WRITE_TOPIC

Public Class Methods

instrument() click to toggle source

Instruments Rails ActiveSupport events for opentracing. Returns a lambda, which, when called will unsubscribe from the notifications

# File lib/labkit/tracing/rails/active_support/subscriber.rb, line 20
def self.instrument
  subscriptions = [
    ::ActiveSupport::Notifications.subscribe(CACHE_READ_TOPIC, CacheReadInstrumenter.new),
    ::ActiveSupport::Notifications.subscribe(CACHE_GENERATE_TOPIC, CacheGenerateInstrumenter.new),
    ::ActiveSupport::Notifications.subscribe(CACHE_FETCH_HIT_TOPIC, CacheFetchHitInstrumenter.new),
    ::ActiveSupport::Notifications.subscribe(CACHE_WRITE_TOPIC, CacheWriteInstrumenter.new),
    ::ActiveSupport::Notifications.subscribe(CACHE_DELETE_TOPIC, CacheDeleteInstrumenter.new),
  ]

  create_unsubscriber subscriptions
end