lib/ddtrace/workers/runtime_metrics.rb in ddtrace-0.43.0 vs lib/ddtrace/workers/runtime_metrics.rb in ddtrace-0.44.0
- old
+ new
@@ -10,22 +10,26 @@
# Emits runtime metrics asynchronously on a timed loop
class RuntimeMetrics < Worker
extend Forwardable
include Workers::Polling
+ # In seconds
+ DEFAULT_FLUSH_INTERVAL = 10
+ DEFAULT_BACK_OFF_MAX = 30
+
attr_reader \
:metrics
def initialize(options = {})
@metrics = options.fetch(:metrics, Runtime::Metrics.new)
# Workers::Async::Thread settings
self.fork_policy = options.fetch(:fork_policy, Workers::Async::Thread::FORK_POLICY_STOP)
# Workers::IntervalLoop settings
- self.interval = options[:interval] if options.key?(:interval)
- self.back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
- self.back_off_max = options[:back_off_max] if options.key?(:back_off_max)
+ self.loop_base_interval = options.fetch(:interval, DEFAULT_FLUSH_INTERVAL)
+ self.loop_back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
+ self.loop_back_off_max = options.fetch(:back_off_max, DEFAULT_BACK_OFF_MAX)
self.enabled = options.fetch(:enabled, false)
end
def perform