Skip to content

DEBUG-3700 Remove duplicated classes from Telemetry transport #4575

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions lib/datadog/core/telemetry/emitter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

require_relative 'request'
require_relative 'http/transport'
require_relative '../transport/response'
require_relative '../utils/sequence'
require_relative '../utils/forking'

Expand All @@ -25,11 +26,11 @@ def request(event)
seq_id = self.class.sequence.next
payload = Request.build_payload(event, seq_id)
res = @http_transport.request(request_type: event.type, payload: payload.to_json)
Datadog.logger.debug { "Telemetry sent for event `#{event.type}` (code: #{res.code.inspect})" }
Datadog.logger.debug { "Telemetry sent for event `#{event.type}` (response: #{res})" }
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The deleted telemetry code always returned nil for code, and code does not exist in the Core response class, therefore I changed reading of code to stringifying the response.

res
rescue => e
Datadog.logger.debug("Unable to send telemetry request for event `#{event.type rescue 'unknown'}`: #{e}")
Telemetry::Http::InternalErrorResponse.new(e)
Core::Transport::InternalErrorResponse.new(e)
end

# Initializes a Sequence object to track seq_id if not already initialized; else returns stored
Expand Down
111 changes: 0 additions & 111 deletions lib/datadog/core/telemetry/http/adapters/net.rb

This file was deleted.

20 changes: 0 additions & 20 deletions lib/datadog/core/telemetry/http/env.rb

This file was deleted.

70 changes: 0 additions & 70 deletions lib/datadog/core/telemetry/http/response.rb

This file was deleted.

16 changes: 12 additions & 4 deletions lib/datadog/core/telemetry/http/transport.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
require_relative '../../configuration/settings'
require_relative '../../environment/ext'
require_relative '../../transport/ext'
require_relative 'env'
require_relative 'ext'
require_relative 'adapters/net'
require_relative '../../transport/http/adapters/net'

module Datadog
module Core
Expand Down Expand Up @@ -53,7 +52,7 @@ def initialize(host:, port:, path:, ssl: false, api_key: nil)
end

def request(request_type:, payload:)
env = Http::Env.new
env = Core::Transport::HTTP::Env.new(Core::Transport::Request.new)
env.path = @path
env.body = payload
env.headers = headers(request_type: request_type)
Expand Down Expand Up @@ -81,7 +80,16 @@ def headers(request_type:, api_version: Http::Ext::API_VERSION)
end

def adapter
@adapter ||= Http::Adapters::Net.new(hostname: @host, port: @port, ssl: @ssl)
@adapter ||= begin
agent_settings = Core::Configuration::AgentSettingsResolver::AgentSettings.new(
adapter: Core::Configuration::Ext::Agent::HTTP::ADAPTER,
ssl: @ssl,
hostname: @host,
port: @port,
# TODO: get timeout_seconds from somewhere
)
Core::Transport::HTTP::Adapters::Net.new(agent_settings)
end
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions sig/datadog/core/configuration/agent_settings_resolver.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ module Datadog
module Configuration
class AgentSettingsResolver
class AgentSettings
def initialize: (adapter: untyped, ssl: untyped, hostname: untyped, port: untyped, uds_path: untyped, timeout_seconds: untyped) -> void
def initialize: (?adapter: untyped, ?ssl: untyped, ?hostname: untyped, ?port: untyped, ?uds_path: untyped, ?timeout_seconds: untyped) -> void

attr_reader adapter: untyped
attr_reader adapter: :net_http | :unix
attr_reader ssl: untyped
attr_reader hostname: untyped
attr_reader port: untyped
Expand Down
2 changes: 1 addition & 1 deletion sig/datadog/core/telemetry/emitter.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module Datadog

extend Core::Utils::Forking
def initialize: (http_transport: Datadog::Core::Telemetry::Http::Transport) -> void
def request: (Datadog::Core::Telemetry::Event::Base event) -> (Datadog::Core::Telemetry::Http::Adapters::Net::Response | Datadog::Core::Telemetry::Http::InternalErrorResponse)
def request: (Datadog::Core::Telemetry::Event::Base event) -> (Datadog::Core::Transport::HTTP::Adapters::Net::Response | Datadog::Core::Transport::InternalErrorResponse)
def self.sequence: () -> Datadog::Core::Utils::Sequence
end
end
Expand Down
53 changes: 0 additions & 53 deletions sig/datadog/core/telemetry/http/adapters/net.rbs

This file was deleted.

17 changes: 0 additions & 17 deletions sig/datadog/core/telemetry/http/env.rbs

This file was deleted.

38 changes: 0 additions & 38 deletions sig/datadog/core/telemetry/http/response.rbs

This file was deleted.

Loading
Loading