Module: Datadog::Tracing::Transport::Native

Defined in:
lib/datadog/tracing/transport/native.rb,
lib/datadog/tracing/transport/native/response.rb,
ext/libdatadog_api/trace_exporter.c

Overview

Transport backed by the native trace exporter (Rust via C FFI).

Converts Ruby Span objects directly to Rust spans and delegates serialization and sending to the Rust data pipeline, which handles stats computation, msgpack encoding, and HTTP transport with retry logic.

Implements the same send_traces / stats interface as Traces::Transport so it can be used as a drop-in replacement via the +Writer+'s :transport option.

Defined Under Namespace

Classes: InternalErrorResponse, Response, TraceExporter, TracerSpan, Transport

Constant Summary collapse

UNSUPPORTED_REASON =

Returns nil when the native extension is available, or a String describing why it is not.

begin
  require "datadog/core"
  Datadog::Core::LIBDATADOG_API_FAILURE
rescue => e
  e.message
end

Class Method Summary collapse

Class Method Details

.supported? ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/datadog/tracing/transport/native.rb', line 31

def self.supported?
  UNSUPPORTED_REASON.nil?
end