class Jaeger::Scope
Scope
represents an OpenTracing Scope
See www.opentracing.io for more information.
Attributes
Public Class Methods
new(span, scope_stack, finish_on_close:)
click to toggle source
# File lib/jaeger/scope.rb, line 8 def initialize(span, scope_stack, finish_on_close:) @span = span @scope_stack = scope_stack @finish_on_close = finish_on_close @closed = false end
Public Instance Methods
close()
click to toggle source
Close scope
Mark the end of the active period for the current thread and Scope
, updating the ScopeManager#active
in the process.
# File lib/jaeger/scope.rb, line 24 def close raise "Tried to close already closed span: #{inspect}" if @closed @closed = true @span.finish if @finish_on_close removed_scope = @scope_stack.pop if removed_scope != self # rubocop:disable Style/GuardClause raise 'Removed non-active scope, ' \ "removed: #{removed_scope.inspect}, "\ "expected: #{inspect}" end end