Module: Rails::Tracer

Defined in:
lib/rails/tracer.rb,
lib/rails/span_helpers.rb,
lib/rails/defer_notifications.rb

Defined Under Namespace

Modules: Defer, SpanHelpers

Class Method Summary collapse

Class Method Details

.disableObject



29
30
31
32
33
34
35
# File 'lib/rails/tracer.rb', line 29

def disable
  ActiveRecord::Tracer.disable
  ActiveSupport::Cache::Tracer.disable
  Rails::Rack::Tracer.disable
  ActionController::Tracer.disable
  ActionView::Tracer.disable
end

.instrument(tracer: OpenTracing.global_tracer, active_span: nil, rack: false, middlewares: Rails.configuration.middleware, active_record: true, active_support_cache: true, dalli: false, action_controller: true, action_view: true, full_trace: false) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rails/tracer.rb', line 12

def instrument(tracer: OpenTracing.global_tracer, active_span: nil,
               rack: false, middlewares: Rails.configuration.middleware,
               active_record: true,
               active_support_cache: true, dalli: false,
               action_controller: true,
               action_view: true,
               full_trace: false)
  Rails::Rack::Tracer.instrument(tracer: tracer, middlewares: middlewares) if rack
  ActiveRecord::Tracer.instrument(tracer: tracer, active_span: active_span) if active_record
  ActiveSupport::Cache::Tracer.instrument(tracer: tracer, active_span: active_span, dalli: dalli) if active_support_cache
  ActionController::Tracer.instrument(tracer: tracer, active_span: active_span) if action_controller
  ActionView::Tracer.instrument(tracer: tracer, active_span: active_span) if action_view

  # hold the requests until they can be written
  Rails::Tracer::Defer.enable if full_trace
end