class LogStash::Outputs::DatadogLogs::DatadogClient
Public Instance Methods
close()
click to toggle source
# File lib/logstash/outputs/datadog_logs.rb, line 180 def close raise NotImplementedError, "Datadog transport client should implement the close method" end
send(payload)
click to toggle source
# File lib/logstash/outputs/datadog_logs.rb, line 176 def send(payload) raise NotImplementedError, "Datadog transport client should implement the send method" end
send_retries(payload, max_retries, max_backoff)
click to toggle source
# File lib/logstash/outputs/datadog_logs.rb, line 158 def send_retries(payload, max_retries, max_backoff) backoff = 1 retries = 0 begin send(payload) rescue RetryableError => e if retries < max_retries || max_retries < 0 @logger.warn("Retrying send due to: #{e.message}") sleep backoff backoff = 2 * backoff unless backoff > max_backoff retries += 1 retry end rescue => ex @logger.error("Unmanaged exception while sending log to datadog #{ex.message}") end end