Class: Jaeger::Encoders::ThriftEncoder
- Inherits:
-
Object
- Object
- Jaeger::Encoders::ThriftEncoder
- Defined in:
- lib/jaeger/encoders/thrift_encoder.rb
Defined Under Namespace
Classes: DummyTransport
Instance Method Summary collapse
- #encode(spans) ⇒ Object
- #encode_limited_size(spans, protocol_class, max_message_length) ⇒ Object
-
#initialize(service_name:, tags: {}) ⇒ ThriftEncoder
constructor
A new instance of ThriftEncoder.
Constructor Details
#initialize(service_name:, tags: {}) ⇒ ThriftEncoder
Returns a new instance of ThriftEncoder.
6 7 8 9 10 |
# File 'lib/jaeger/encoders/thrift_encoder.rb', line 6 def initialize(service_name:, tags: {}) @service_name = service_name @tags = () @process = Jaeger::Thrift::Process.new('serviceName' => @service_name, 'tags' => @tags) end |
Instance Method Details
#encode(spans) ⇒ Object
12 13 14 |
# File 'lib/jaeger/encoders/thrift_encoder.rb', line 12 def encode(spans) encode_batch(spans.map(&method(:encode_span))) end |
#encode_limited_size(spans, protocol_class, max_message_length) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/jaeger/encoders/thrift_encoder.rb', line 16 def encode_limited_size(spans, protocol_class, ) batches = [] current_batch = [] transport.flush spans.each do |span| encoded_span = encode_span(span) if aggregated_span_size(encoded_span, protocol_class) > && !current_batch.empty? batches << encode_batch(current_batch) current_batch = [] transport.flush end current_batch << encoded_span end batches << encode_batch(current_batch) unless current_batch.empty? batches end |