Class: OpenTracing::Instrumentation::Thrift::TracedProcessor

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/opentracing/instrumentation/thrift/traced_processor.rb

Overview

Trace thrift processor

Usage:

processor =
  OrderService::Processor.new(orders_handler)
traced_processor =
  OpenTracing::Instrumentation::Thrift::TracedProcessor.new(processor)

Defined Under Namespace

Classes: ReadCachedProtocol

Instance Method Summary collapse

Constructor Details

#initialize(processor, config: TracedProcessorConfig.new) {|| ... } ⇒ TracedProcessor

Returns a new instance of TracedProcessor.

Parameters:

Yield Parameters:



36
37
38
39
40
# File 'lib/opentracing/instrumentation/thrift/traced_processor.rb', line 36

def initialize(processor, config: TracedProcessorConfig.new)
  @processor = processor
  yield config if block_given?
  @config = config.dup
end

Instance Method Details

#process(iproto, oproto) ⇒ Object

Parameters:

  • iproto (Thrift::Protocol)

    input protocol

  • oproto (Thrift::Protocol)

    output protocol



44
45
46
47
48
49
50
51
# File 'lib/opentracing/instrumentation/thrift/traced_processor.rb', line 44

def process(iproto, oproto)
  trace_process(iproto) do |cached_iproto|
    processor.process(
      wrap_protocol(cached_iproto),
      wrap_protocol(oproto),
    )
  end
end