Module: Datadog::Core::Telemetry::Transport::HTTP

Defined in:
lib/datadog/core/telemetry/transport/http.rb,
lib/datadog/core/telemetry/transport/http/telemetry.rb

Overview

Namespace for HTTP transport components

Defined Under Namespace

Modules: Telemetry

Constant Summary collapse

AGENT_TELEMETRY =
Telemetry::API::Endpoint.new(
  '/telemetry/proxy/api/v2/apmtelemetry',
  Core::Encoding::JSONEncoder,
)
AGENTLESS_TELEMETRY =
Telemetry::API::Endpoint.new(
  '/api/v2/apmtelemetry',
  Core::Encoding::JSONEncoder,
)

Class Method Summary collapse

Class Method Details

.agent_telemetry(agent_settings:, logger:, headers: nil) ⇒ Object

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



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/datadog/core/telemetry/transport/http.rb', line 48

def agent_telemetry(
  agent_settings:,
  logger:,
  headers: nil
)
  Core::Transport::HTTP.build(
    logger: logger,
    agent_settings: agent_settings,
    headers: headers
  ) do |transport|
    transport.api 'agent_telemetry', AGENT_TELEMETRY

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

.agentless_telemetry(agent_settings:, logger:, api_key: nil, headers: nil) ⇒ Object

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



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/datadog/core/telemetry/transport/http.rb', line 27

def agentless_telemetry(
  agent_settings:,
  logger:,
  api_key: nil,
  headers: nil
)
  Core::Transport::HTTP.build(
    logger: logger,
    agent_settings: agent_settings,
    headers: headers
  ) do |transport|
    transport.api 'agentless_telemetry', AGENTLESS_TELEMETRY
    # Call block to apply any customization, if provided
    yield(transport) if block_given?
  end.to_transport(Core::Telemetry::Transport::Telemetry::Transport).tap do |transport|
    transport.api_key = api_key
  end
end