class OpenTelemetry::Adapters::ConcurrentRuby::ContextCompositeExecutorService

Wraps existing executor to carry over trace context

Attributes

composited_executor[RW]

Public Class Methods

new(composited_executor) click to toggle source
# File lib/opentelemetry/adapters/concurrent_ruby/context_composite_executor_service.rb, line 20
def initialize(composited_executor)
  @composited_executor = composited_executor
end

Public Instance Methods

post(*args) { || ... } click to toggle source

post method runs the task within composited executor in a different thread

# File lib/opentelemetry/adapters/concurrent_ruby/context_composite_executor_service.rb, line 26
def post(*args, &task)
  context = OpenTelemetry::Context.current

  @composited_executor.post(*args) do
    OpenTelemetry::Context.with_current(context) do
      yield
    end
  end
end