Class: OpenTracing::Instrumentation::Thrift::TracedProtocolFactory
- Inherits:
-
Thrift::BaseProtocolFactory
- Object
- Thrift::BaseProtocolFactory
- OpenTracing::Instrumentation::Thrift::TracedProtocolFactory
- Defined in:
- lib/opentracing/instrumentation/thrift/traced_protocol_factory.rb
Overview
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
Instance Method Summary collapse
- #get_protocol(trans) ⇒ Object
-
#initialize(protocol_factory, config: TracedProtocolConfig.new) ⇒ TracedProtocolFactory
constructor
A new instance of TracedProtocolFactory.
Constructor Details
#initialize(protocol_factory, config: TracedProtocolConfig.new) ⇒ TracedProtocolFactory
Returns a new instance of TracedProtocolFactory.
31 32 33 34 35 |
# 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 |
Instance Method Details
#get_protocol(trans) ⇒ Object
37 38 39 40 |
# 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 |