Sha256: 9861c6dabe801d75fd9f045f638521cdddd275aafab0ed0956d5dad162c1b8f8
Contents?: true
Size: 843 Bytes
Versions: 2
Compression:
Stored size: 843 Bytes
Contents
module Datadog module OpenTracer # OpenTracing adapter for thread local scopes # @public_api class ThreadLocalScope < Scope attr_reader \ :finish_on_close def initialize( manager:, span:, finish_on_close: true ) super(manager: manager, span: span) @finish_on_close = finish_on_close @previous_scope = manager.active end # Mark the end of the active period for the current thread and Scope, # updating the ScopeManager#active in the process. # # NOTE: Calling close more than once on a single Scope instance leads to # undefined behavior. def close return unless equal?(manager.active) span.finish if finish_on_close manager.send(:set_scope, @previous_scope) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.10.1 | lib/datadog/opentracer/thread_local_scope.rb |
ddtrace-1.10.0 | lib/datadog/opentracer/thread_local_scope.rb |