class OpenTracing::Instrumentation::Thrift::TracedProtocolFactory
Factory of TracedProtocol
. Can be used thrift processor
Usage (config.ru):
multiplexed_processor = Thrift::MultiplexedProcessor.new binary_protocol_factory = OpenTracing::Instrumentation::Thrift::TracedProtocolFactory.new( Thrift::BinaryProtocolAcceleratedFactory.new, ) json_protocol_factory = OpenTracing::Instrumentation::Thrift::TracedProtocolFactory.new( Thrift::JsonProtocolFactory.new, ) protocol_factoreis_map = { binary_protocol_factory => ['application/x-thrift'], json_protocol_factory => ['application/json'], } thrift_app = ::MultiprotocolThriftRackApp.new( multiplexed_processor, protocol_factoreis_map, ) run thrift_app
Attributes
config[R]
protocol_factory[R]
Public Class Methods
new(protocol_factory, config: TracedProtocolConfig.new)
click to toggle source
Calls superclass method
# File lib/opentracing/instrumentation/thrift/traced_protocol_factory.rb, line 31 def initialize(protocol_factory, config: TracedProtocolConfig.new) super() @protocol_factory = protocol_factory @config = config end
Public Instance Methods
get_protocol(trans)
click to toggle source
# File lib/opentracing/instrumentation/thrift/traced_protocol_factory.rb, line 37 def get_protocol(trans) protocol = protocol_factory.get_protocol(trans) TracedProtocol.new(protocol, config: config) end