Module: Datadog::Tracing::Transport::Traces::Encoder
- Defined in:
- lib/datadog/tracing/transport/traces.rb
Overview
Encodes traces using Core::Encoding::Encoder instances.
Class Method Summary collapse
Class Method Details
.encode_trace(encoder, trace, logger:, native_events_supported:) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/datadog/tracing/transport/traces.rb', line 106 def encode_trace(encoder, trace, logger:, native_events_supported:) # Format the trace for transport TraceFormatter.format!(trace) # Make the trace serializable serializable_trace = SerializableTrace.new(trace, native_events_supported: native_events_supported) # Encode the trace encoder.encode(serializable_trace).tap do |encoded| # Print the actual serialized trace, since the encoder can change make non-trivial changes logger.debug { "Flushing trace: #{encoder.decode(encoded)}" } end end |