compose/pkg
Milas Bowman 3b0742fd57
watch: batch & de-duplicate file events (#10865)
Adjust the debouncing logic so that it applies to all inbound file
events, regardless of whether they match a sync or rebuild rule.

When the batch is flushed out, if any event for the service is a
rebuild event, then the service is rebuilt and all sync events for
the batch are ignored. If _all_ events in the batch are sync events,
then a sync is triggered, passing the entire batch at once. This
provides a substantial performance win for the new `tar`-based
implementation, as it can efficiently transfer the changes in bulk.

Additionally, this helps with jitter, e.g. it's not uncommon for
there to be double-writes in quick succession to a file, so even if
there's not many files being modified at once, it can still prevent
some unnecessary transfers.

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2023-08-03 14:53:02 -04:00
..
api build: do not attempt to push unnamed service images 2023-07-19 09:58:37 +02:00
compose watch: batch & de-duplicate file events (#10865) 2023-08-03 14:53:02 -04:00
e2e watch: batch & de-duplicate file events (#10865) 2023-08-03 14:53:02 -04:00
mocks Add `docker compose wait` 2023-06-30 16:07:03 +02:00
progress use `--progress` to configure progress UI stylet push 2023-06-12 16:53:42 +02:00
prompt use a simpler prompt implementation when we lack a terminal 2023-01-09 10:28:16 +01:00
utils support `attach` 2023-07-10 14:34:28 +02:00
watch watch: add tar sync implementation (#10853) 2023-08-01 14:39:08 -04:00