Skip to content

Commit

Permalink
Update docs/en/ingest-management/elastic-agent/configuration/outputs/…
Browse files Browse the repository at this point in the history
…output-logstash.asciidoc

Co-authored-by: David Kilfoyle <[email protected]>
  • Loading branch information
cmacknz and kilfoyle authored Mar 26, 2024
1 parent 052bdcb commit 28b7afb
Showing 1 changed file with 13 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -173,30 +173,30 @@ The memory queue waits for the output to acknowledge or drop events. If the queu
events can be inserted into the memory queue. Only after the signal from the output will the queue
free up space for more events to be accepted.

The memory queue is controlled by the parameters flush.min_events and flush.timeout.
flush.min_events gives a limit on the number of events that can be included in a single batch, and
flush.timeout specifies how long the queue should wait to completely fill an event request. If the
output supports a bulk_max_size parameter, the maximum batch size will be the smaller of
bulk_max_size and flush.min_events.
The memory queue is controlled by the parameters `flush.min_events` and `flush.timeout`.
`flush.min_events` gives a limit on the number of events that can be included in a single batch, and
`flush.timeout` specifies how long the queue should wait to completely fill an event request. If the
output supports a `bulk_max_size` parameter, the maximum batch size will be the smaller of
`bulk_max_size` and `flush.min_events`.

flush.min_events is a legacy parameter, and new configurations should prefer to control batch size
with bulk_max_size. As of 8.13, there is never a performance advantage to limiting batch size with
flush.min_events instead of bulk_max_size.
`flush.min_events` is a legacy parameter, and new configurations should prefer to control batch size
with `bulk_max_size`. As of 8.13, there is never a performance advantage to limiting batch size with
`flush.min_events` instead of `bulk_max_size`.

In synchronous mode, an event request is always filled as soon as events are available, even if
there are not enough events to fill the requested batch. This is useful when latency must be
minimized. To use synchronous mode, set flush.timeout to 0.
minimized. To use synchronous mode, set `flush.timeout` to 0.

For backwards compatibility, synchronous mode can also be activated by setting flush.min_events to 0
For backwards compatibility, synchronous mode can also be activated by setting `flush.min_events` to 0
or 1. In this case, batch size will be capped at 1/2 the queue capacity.

In asynchronous mode, an event request will wait up to the specified timeout to try and fill the
requested batch completely. If the timeout expires, the queue returns a partial batch with all
available events. To use asynchronous mode, set flush.timeout to a positive duration, e.g. 5s.
available events. To use asynchronous mode, set `flush.timeout` to a positive duration, for example 5s.

This sample configuration forwards events to the output when there are enough events to fill the
output's request (usually controlled by bulk_max_size, and limited to at most 512 events by
flush.min_events), or when events have been waiting for 5s without filling the requested size:f 512 events are available or the oldest
output's request (usually controlled by `bulk_max_size`, and limited to at most 512 events by
`flush.min_events`), or when events have been waiting for 5s without filling the requested size:f 512 events are available or the oldest
available event has been waiting for 5s in the queue:

[source,yaml]
Expand Down

0 comments on commit 28b7afb

Please sign in to comment.