moby--moby/daemon
Cory Snider bdc6473d2d health: Start probe timeout after exec starts
Starting an exec can take a significant amount of time while under heavy
container operation load. In extreme cases the time to start the process
can take upwards of a second, which is a significant fraction of the
default health probe timeout (30s). With a shorter timeout, the exec
start delay could make the difference between a successful probe and a
probe timeout! Mitigate the impact of excessive exec start latencies by
only starting the probe timeout timer after the exec'ed process has
started.

Add a metric to sample the latency of starting health-check exec probes.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-04-28 17:21:03 -04:00
..
cluster api/types: replace uses of deprecated types.Volume with volume.Volume 2022-04-21 19:50:59 +02:00
config daemon/config: Validate(): validate log-level 2022-04-27 00:34:14 +02:00
events
exec
graphdriver
images distribution: add GetRepository(), un-export NewV2Repository, ValidateRepoName 2022-04-21 23:12:02 +02:00
initlayer
links
listeners
logger
names
network
stats
testdata
apparmor_default.go
apparmor_default_unsupported.go
archive.go
archive_tarcopyoptions.go
archive_tarcopyoptions_unix.go
archive_tarcopyoptions_windows.go
archive_unix.go
archive_windows.go
attach.go
auth.go
changes.go
checkpoint.go
cluster.go
commit.go
configs.go
configs_linux.go
configs_unsupported.go
configs_windows.go
container.go
container_linux.go
container_operations.go
container_operations_unix.go
container_operations_windows.go
container_unix_test.go
container_windows.go
content.go
create.go
create_test.go
create_unix.go
create_windows.go
daemon.go daemon: daemon.networkOptions(): don't pass Config as argument 2022-04-23 23:34:13 +02:00
daemon_linux.go
daemon_linux_test.go
daemon_test.go
daemon_unix.go daemon: daemon.networkOptions(): don't pass Config as argument 2022-04-23 23:34:13 +02:00
daemon_unix_test.go
daemon_unsupported.go
daemon_windows.go daemon: daemon.networkOptions(): don't pass Config as argument 2022-04-23 23:34:13 +02:00
daemon_windows_test.go
debugtrap_unix.go
debugtrap_unsupported.go
debugtrap_windows.go
delete.go
delete_test.go
dependency.go
devices_linux.go
disk_usage.go api/types: replace uses of deprecated types.Volume with volume.Volume 2022-04-21 19:50:59 +02:00
errors.go
events.go
events_test.go
exec.go
exec_linux.go
exec_linux_test.go
exec_windows.go
export.go
health.go health: Start probe timeout after exec starts 2022-04-28 17:21:03 -04:00
health_test.go
info.go
info_unix.go
info_unix_test.go
info_windows.go
inspect.go
inspect_linux.go
inspect_test.go
inspect_windows.go
keys.go
keys_unsupported.go
kill.go
licensing.go
licensing_test.go
links.go
list.go
list_test.go
list_unix.go
list_windows.go
logdrivers_linux.go
logdrivers_windows.go
logs.go
logs_test.go
metrics.go health: Start probe timeout after exec starts 2022-04-28 17:21:03 -04:00
metrics_unix.go
metrics_unsupported.go
monitor.go
mounts.go
names.go
network.go
network_windows.go
nvidia_linux.go
oci_linux.go
oci_linux_test.go
oci_utils.go
oci_windows.go
oci_windows_test.go
pause.go
prune.go
reload.go
reload_test.go daemon: daemon.networkOptions(): don't pass Config as argument 2022-04-23 23:34:13 +02:00
reload_unix.go
reload_windows.go
rename.go
resize.go
resize_test.go
restart.go
runtime_unix.go
runtime_windows.go
seccomp_disabled.go
seccomp_linux.go
seccomp_linux_test.go
seccomp_unsupported.go
secrets.go
secrets_linux.go
secrets_unsupported.go
secrets_windows.go
start.go
start_unix.go
start_windows.go
stats.go
stats_collector.go
stats_unix.go
stats_windows.go
stop.go
top_unix.go
top_unix_test.go
top_windows.go
trustkey.go
trustkey_test.go
unpause.go
update.go
update_linux.go
update_windows.go
util_test.go
volumes.go api/types: replace uses of deprecated types.Volume with volume.Volume 2022-04-21 19:50:59 +02:00
volumes_linux.go
volumes_linux_test.go
volumes_unit_test.go
volumes_unix.go
volumes_unix_test.go
volumes_windows.go
wait.go
workdir.go