Module: Datadog::Tracing::Transport::HTTP

Defined in:
lib/datadog/tracing/transport/http.rb,
lib/datadog/tracing/transport/http/client.rb,
lib/datadog/tracing/transport/http/traces.rb,
lib/datadog/tracing/transport/http/statistics.rb

Overview

Namespace for HTTP transport components

Defined Under Namespace

Modules: Statistics, Traces Classes: Client

Constant Summary collapse

V4 =
Traces::API::Endpoint.new(
  '/v0.4/traces',
  Core::Encoding::MsgpackEncoder,
  service_rates: true
)
V3 =
Traces::API::Endpoint.new(
  '/v0.3/traces',
  Core::Encoding::MsgpackEncoder,
)

Class Method Summary collapse

Class Method Details

.default(agent_settings:, logger: Datadog.logger, headers: nil) ⇒ Object

Builds a new Transport::HTTP::Client with default settings Pass a block to override any settings.



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/datadog/tracing/transport/http.rb', line 30

def default(
  agent_settings:,
  logger: Datadog.logger,
  headers: nil
)
  Core::Transport::HTTP.build(
    agent_settings: agent_settings,
    logger: logger,
    headers: headers
  ) do |transport|
    transport.api 'v0.4', V4, fallback: 'v0.3', default: true
    transport.api 'v0.3', V3

    # Call block to apply any customization, if provided
    yield(transport) if block_given?
  end.to_transport(Transport::Traces::Transport)
end