Class: Datadog::Core::Telemetry::Heartbeat

Inherits:
Worker
  • Object
show all
Includes:
Workers::Polling
Defined in:
lib/datadog/core/telemetry/heartbeat.rb

Overview

Periodically (every DEFAULT_INTERVAL_SECONDS) sends a heartbeat event to the telemetry API.

Constant Summary collapse

DEFAULT_INTERVAL_SECONDS =
60

Constants included from Workers::Polling

Workers::Polling::SHUTDOWN_TIMEOUT

Instance Attribute Summary

Attributes inherited from Worker

#task

Instance Method Summary collapse

Methods included from Workers::Polling

#enabled=, #enabled?, included, #stop

Methods inherited from Worker

#perform

Constructor Details

#initialize(enabled: true, interval: DEFAULT_INTERVAL_SECONDS, &block) ⇒ Heartbeat

Returns a new instance of Heartbeat.



13
14
15
16
17
18
19
20
21
# File 'lib/datadog/core/telemetry/heartbeat.rb', line 13

def initialize(enabled: true, interval: DEFAULT_INTERVAL_SECONDS, &block)
  # Workers::Polling settings
  self.enabled = enabled
  # Workers::IntervalLoop settings
  self.loop_base_interval = interval
  self.fork_policy = Core::Workers::Async::Thread::FORK_POLICY_STOP
  super(&block)
  start
end

Instance Method Details

#loop_wait_before_first_iteration?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/datadog/core/telemetry/heartbeat.rb', line 23

def loop_wait_before_first_iteration?
  true
end