class ElasticAPM::OpenTracing::ScopeManager

@api private

Public Class Methods

new() click to toggle source
# File lib/elastic_apm/opentracing.rb, line 196
def initialize
  @scope_stack = ScopeStack.new
end

Public Instance Methods

activate(span, finish_on_close: true) click to toggle source
# File lib/elastic_apm/opentracing.rb, line 200
def activate(span, finish_on_close: true)
  return active if active && active.span == span

  scope = Scope.new(span, @scope_stack, finish_on_close: finish_on_close)
  @scope_stack.push scope
  scope
end
active() click to toggle source
# File lib/elastic_apm/opentracing.rb, line 208
def active
  @scope_stack.last
end