spiegel_podman/pkg
Paul Holzinger 4564504387
compat API: speed up network list
The network list compat API requires us to include all containers with
their ip addresses for the selected networks. Because we have no network
-> container mapping in the db we have to go through all containers
every time. However the old code did it in the most ineffective way
possible, it quered the containers from the db for each individual
network. The of course is extremely expensive. Now the other expensive
call is calling Inspect() on the container each time. Inspect does for
more than we need.

To fix this we fist query containers only once for the API call, then
replace the inspect call with directly accessing the network status.
This will speed things up a lot!
The reported scenario includes 100 containers and 25 networks,
previously it took 1.5s for the API call not it takes 24ms, that is a
more than a 62x improvement. (tested with curl)

[NO NEW TESTS NEEDED] We have no timing tests.

Fixes #20035

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-10-05 12:18:39 +02:00
..
annotations Remove ReservedAnnotations from kube generate specification 2023-01-18 08:46:24 -05:00
api compat API: speed up network list 2023-10-05 12:18:39 +02:00
auth fix(deps): update module github.com/docker/docker to v24 2023-05-22 15:32:12 +02:00
autoupdate auto update: fix usage of --authfile 2023-07-05 08:30:39 +02:00
bindings wire in new buildah build options 2023-09-14 11:21:00 +02:00
channel bump golangci-lint to v1.50.1 2022-12-15 13:39:56 +01:00
checkpoint Merge pull request #19951 from Luap99/small-remote 2023-09-14 15:27:45 +02:00
copy pkg: switch to golang native error wrapping 2022-07-08 08:54:47 +02:00
criu vendor: update checkpointctl to v1.1.0 2023-09-12 08:41:02 +01:00
ctime Replace deprecated ioutil 2022-09-20 15:34:27 -04:00
domain pass --syslog to the cleanup process 2023-09-22 08:26:52 +00:00
env Revert "feat(env): support multiline in env-file" 2023-10-05 12:16:04 +02:00
errorhandling Fix typos 2023-02-11 18:23:24 +01:00
inspect pkg/inspect: remove unused ImageResult type 2022-05-24 16:07:39 +02:00
k8s.io kube: add DaemonSet support for generate 2023-09-12 10:30:57 +05:30
lookup source code comments and docs: fix typos, language, Markdown layout 2023-05-22 07:52:16 +02:00
machine Fix locale issues with WSL version detection 2023-10-03 13:47:35 +00:00
namespaces source code comments and docs: fix typos, language, Markdown layout 2023-05-22 07:52:16 +02:00
parallel Fix stutters 2022-09-10 07:52:00 -04:00
ps Cleanup CIDFile on podman-remote run --rm command 2023-08-01 14:24:55 -04:00
rctl pkg/rctl: Remove unused cgo dependency 2022-10-31 15:13:48 +00:00
rootless add a podman-compose command 2023-07-24 19:23:04 +02:00
seccomp pkg: switch to golang native error wrapping 2022-07-08 08:54:47 +02:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
signal Run codespell on code 2022-11-04 10:57:41 -04:00
specgen specgen, rootless: fix mount of cgroup without a netns 2023-09-22 09:08:53 +00:00
specgenutil Add support for ramfs as well as tmpfs in volume mounts 2023-08-21 07:14:57 -04:00
systemd Add support for Ulimit in quadlet 2023-09-14 06:17:43 -04:00
terminal podman ssh work, using new c/common interface 2022-08-09 14:00:58 -04:00
timetype bump golangci-lint to v1.49.0 2022-10-17 09:19:41 +02:00
trust Revert the usage of home.GetConfigHome() 2023-07-17 18:29:06 +02:00
util inspect: ignore ENOENT during device lookup 2023-10-05 12:17:44 +02:00