Module: Rails::Instrumentation

Defined in:
lib/rails/instrumentation.rb,
lib/rails/instrumentation/patch.rb,
lib/rails/instrumentation/utils.rb,
lib/rails/instrumentation/version.rb,
lib/rails/instrumentation/subscriber.rb,
lib/rails/instrumentation/subscribers/active_job_subscriber.rb,
lib/rails/instrumentation/subscribers/action_view_subscriber.rb,
lib/rails/instrumentation/subscribers/action_cable_subscriber.rb,
lib/rails/instrumentation/subscribers/action_mailer_subscriber.rb,
lib/rails/instrumentation/subscribers/active_record_subscriber.rb,
lib/rails/instrumentation/subscribers/active_storage_subscriber.rb,
lib/rails/instrumentation/subscribers/active_support_subscriber.rb,
lib/rails/instrumentation/subscribers/action_controller_subscriber.rb

Defined Under Namespace

Modules: ActionCableSubscriber, ActionControllerSubscriber, ActionMailerSubscriber, ActionViewSubscriber, ActiveJobSubscriber, ActiveRecordSubscriber, ActiveStorageSubscriber, ActiveSupportSubscriber, Patch, Subscriber, Utils Classes: Error

Constant Summary collapse

TAGS =
{
  'component' => 'ruby-rails',
  'instrumentation.version' => Rails::Instrumentation::VERSION
}.freeze
VERSION =
'0.1.0'.freeze

Class Method Summary collapse

Class Method Details

.instrument(tracer: OpenTracing.global_tracer, exclude_events: []) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/rails/instrumentation.rb', line 25

def self.instrument(tracer: OpenTracing.global_tracer,
                    exclude_events: [])
  @tracer = tracer

  add_subscribers(exclude_events: exclude_events)
  Patch.patch_process_action
end

.tracerObject



33
34
35
# File 'lib/rails/instrumentation.rb', line 33

def self.tracer
  @tracer
end

.uninstrumentObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/rails/instrumentation.rb', line 49

def self.uninstrument
  ActiveRecordSubscriber.unsubscribe
  ActionControllerSubscriber.unsubscribe
  ActionViewSubscriber.unsubscribe
  ActiveSupportSubscriber.unsubscribe
  ActionMailerSubscriber.unsubscribe
  ActiveJobSubscriber.unsubscribe
  ActionCableSubscriber.unsubscribe
  ActiveStorageSubscriber.unsubscribe
end