Class: Jaeger::Client::Encoders::ThriftEncoder
- Inherits:
-
Object
- Object
- Jaeger::Client::Encoders::ThriftEncoder
- Defined in:
- lib/jaeger/client/encoders/thrift_encoder.rb
Instance Method Summary collapse
- #encode(spans) ⇒ Object
-
#initialize(service_name:) ⇒ ThriftEncoder
constructor
A new instance of ThriftEncoder.
Constructor Details
#initialize(service_name:) ⇒ ThriftEncoder
Returns a new instance of ThriftEncoder.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/jaeger/client/encoders/thrift_encoder.rb', line 7 def initialize(service_name:) @service_name = service_name @tags = [ Jaeger::Thrift::Tag.new( 'key' => 'jaeger.version', 'vType' => Jaeger::Thrift::TagType::STRING, 'vStr' => 'Ruby-' + Jaeger::Client::VERSION ), Jaeger::Thrift::Tag.new( 'key' => 'hostname', 'vType' => Jaeger::Thrift::TagType::STRING, 'vStr' => Socket.gethostname ) ] ipv4 = Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? } unless ipv4.nil? # rubocop:disable Style/GuardClause @tags << Jaeger::Thrift::Tag.new( 'key' => 'ip', 'vType' => Jaeger::Thrift::TagType::STRING, 'vStr' => ipv4.ip_address ) end end |
Instance Method Details
#encode(spans) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/jaeger/client/encoders/thrift_encoder.rb', line 31 def encode(spans) Jaeger::Thrift::Batch.new( 'process' => Jaeger::Thrift::Process.new( 'serviceName' => @service_name, 'tags' => @tags ), 'spans' => spans.map(&method(:encode_span)) ) end |