pub struct Forwarder {Show 22 fields
pub apikey_validation_interval: i64,
pub backoff_base: f64,
pub backoff_factor: f64,
pub backoff_max: f64,
pub connection_reset_interval: u64,
pub flush_to_disk_mem_ratio: f64,
pub high_prio_buffer_size: usize,
pub http_protocol: ForwarderHttpProtocol,
pub max_concurrent_requests: usize,
pub num_workers: usize,
pub outdated_file_in_days: u32,
pub recovery_interval: u32,
pub recovery_reset: bool,
pub retry_queue_capacity_time_interval_sec: u64,
pub retry_queue_max_size: ConfigValue<u64>,
pub retry_queue_payloads_max_size: ConfigValue<u64>,
pub stop_timeout: Duration,
pub stop_wait_for_inflight: bool,
pub storage_max_disk_ratio: f64,
pub storage_max_size_in_bytes: u64,
pub storage_path: PathBuf,
pub timeout: u64,
}Expand description
Forwarder retry, backoff, worker, and disk-storage settings.
Fields§
§apikey_validation_interval: i64How often, in seconds, API keys are checked for validity against the intake.
backoff_base: f64Base delay, in seconds, for retry backoff.
backoff_factor: f64Multiplier applied to the backoff delay after each failed attempt.
backoff_max: f64Maximum retry backoff delay, in seconds.
connection_reset_interval: u64How often, in seconds, idle connections are reset.
flush_to_disk_mem_ratio: f64Fraction of the in-memory retry queue at which payloads spill to disk.
high_prio_buffer_size: usizeCapacity of the high-priority send buffer.
http_protocol: ForwarderHttpProtocolHTTP protocol the forwarder negotiates with the intake.
max_concurrent_requests: usizeMaximum number of in-flight requests to the intake.
num_workers: usizeNumber of forwarder worker tasks.
outdated_file_in_days: u32Age, in days, after which payloads queued on disk are discarded.
recovery_interval: u32Number of retry cycles between attempts to recover a failed endpoint.
recovery_reset: boolWhether the recovery interval resets after a successful send.
retry_queue_capacity_time_interval_sec: u64Retry-queue capacity expressed as seconds of buffered payloads.
retry_queue_max_size: ConfigValue<u64>Maximum number of payloads held in the in-memory retry queue.
Deprecated in favor of retry_queue_payloads_max_size.
This setting counts payloads, not bytes;
effective_retry_queue_max_size_bytes converts
it using MAX_PAYLOAD_SIZE_BYTES. The Datadog schema supplies 0 when nothing sets this
key. Because 0 is also a value an operator can set, honor this setting only when it is
explicit.
retry_queue_payloads_max_size: ConfigValue<u64>Maximum total size, in bytes, of payloads held in the retry queue.
The Datadog schema supplies 15 MiB when nothing sets this key. Takes precedence over
retry_queue_max_size when set explicitly.
stop_timeout: DurationGrace period the forwarder is given to drain before shutdown.
stop_wait_for_inflight: boolWhether the forwarder waits for in-flight requests to finish when it shuts down.
When false, in-flight requests are aborted as soon as shutdown begins and their transactions are requeued
with the other pending transactions, which are then persisted to disk if disk storage is enabled. When true,
in-flight requests are allowed to finish first, bounded by the topology-wide shutdown timeout; if that timeout
elapses first, nothing pending is persisted. The Datadog schema supplies false when nothing sets this key.
storage_max_disk_ratio: f64Fraction of available disk the on-disk retry store may use.
storage_max_size_in_bytes: u64Maximum size, in bytes, of the on-disk retry store.
storage_path: PathBufDirectory where retry payloads are persisted to disk.
timeout: u64Per-request timeout, in seconds, for calls to the intake.
Implementations§
Source§impl Forwarder
impl Forwarder
Sourcepub fn effective_retry_queue_max_size_bytes(&self) -> u64
pub fn effective_retry_queue_max_size_bytes(&self) -> u64
Returns the effective maximum size, in bytes, of the in-memory retry queue.
An explicit retry_queue_payloads_max_size wins, then
an explicit retry_queue_max_size, and otherwise the effective
payload-size value, which carries the source schema’s default. Selection cannot look at the
values themselves: 0 is both the deprecated setting’s schema default and a value an
operator can mean.
The deprecated setting counts payloads rather than bytes, so it is scaled by
MAX_PAYLOAD_SIZE_BYTES to reach a byte budget. A count large enough to overflow saturates
at u64::MAX, which the retry queue treats as effectively unbounded.