Module: Datadog::Core::Environment::Socket

Extended by:
Utils::Forking
Defined in:
lib/datadog/core/environment/socket.rb

Overview

For runtime identity

Class Method Summary collapse

Methods included from Utils::Forking

after_fork!, extended, fork_pid, forked?, included, update_fork_pid!

Class Method Details

.hostnameObject



15
16
17
18
19
20
# File 'lib/datadog/core/environment/socket.rb', line 15

def hostname
  # Check if runtime has changed, e.g. forked.
  after_fork! { @hostname = ::Socket.gethostname.freeze }

  @hostname ||= ::Socket.gethostname.freeze
end

.resolved_hostname(settings) ⇒ Object

Returns the resolved hostname when report_hostname is enabled: the configured DD_HOSTNAME if set, otherwise the system hostname. Returns nil when report_hostname is disabled or no hostname is available.



25
26
27
28
29
30
31
32
33
# File 'lib/datadog/core/environment/socket.rb', line 25

def resolved_hostname(settings)
  return nil unless settings.tracing.report_hostname

  configured = settings.hostname
  return configured if configured && !configured.empty?

  resolved_hostname = hostname
  resolved_hostname if resolved_hostname && !resolved_hostname.empty?
end