podman/libpod
Adrian Reber 80e56fa12b
Added optional container restore statistics
This adds the parameter '--print-stats' to 'podman container restore'.
With '--print-stats' Podman will measure how long Podman itself, the OCI
runtime and CRIU requires to restore a checkpoint and print out these
information. CRIU already creates process restore statistics which are
just read in addition to the added measurements. In contrast to just
printing out the ID of the restored container, Podman will now print
out JSON:

 # podman container restore --latest --print-stats
 {
     "podman_restore_duration": 305871,
     "container_statistics": [
         {
             "Id": "47b02e1d474b5d5fe917825e91ac653efa757c91e5a81a368d771a78f6b5ed20",
             "runtime_restore_duration": 140614,
             "criu_statistics": {
                 "forking_time": 5,
                 "restore_time": 67672,
                 "pages_restored": 14
             }
         }
     ]
 }

The output contains 'podman_restore_duration' which contains the
number of microseconds Podman required to restore the checkpoint. The
output also includes 'runtime_restore_duration' which is the time
the runtime needed to restore that specific container. Each container
also includes 'criu_statistics' which displays the timing information
collected by CRIU.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-11-15 11:50:25 +00:00
..
common
define Added optional container checkpointing statistics 2021-11-15 11:50:24 +00:00
driver bump go module to v3 2021-02-22 09:03:51 +01:00
events standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
layers
linkmode Add podman static build 2020-05-11 13:11:07 +02:00
lock shm_lock: Handle ENOSPC better in AllocateSemaphore 2021-11-09 18:34:21 +11:00
logs standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
network Add failing run test for netavark 2021-11-11 17:50:10 +01:00
plugin bump go module to v3 2021-02-22 09:03:51 +01:00
shutdown Fix CI flake on time of shutdown for API service 2021-10-12 09:53:19 -07:00
boltdb_state.go Ensure pod ID bucket is properly updated on rename 2021-09-28 14:12:18 -04:00
boltdb_state_internal.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
boltdb_state_linux.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
common_test.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
container.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
container_api.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
container_commit.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
container_config.go Merge pull request #11890 from Luap99/ports 2021-11-06 10:39:16 +01:00
container_copy_linux.go Don't use docker/pkg/archive, use containers/storage/pkg/archive 2021-10-14 10:28:42 -04:00
container_exec.go libpod: add execSessionNoCopy 2021-09-29 13:44:55 +02:00
container_graph.go implement init containers in podman 2021-08-04 14:14:36 -05:00
container_graph_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
container_inspect.go Merge pull request #11686 from cdoern/podDeviceOptions 2021-10-01 10:53:14 -04:00
container_internal.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
container_internal_linux.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
container_internal_linux_test.go feat: add localhost into hosts if the networking mode is not host 2021-09-04 18:24:41 +04:30
container_internal_test.go Refactor container config 2020-07-23 10:18:14 -04:00
container_linux.go
container_log.go logging: new mode -l passthrough 2021-09-27 12:07:01 +02:00
container_log_linux.go Fix a few problems in 'podman logs --tail' with journald driver 2021-10-26 12:18:57 -04:00
container_log_unsupported.go Switch eventlogger to journald by default 2021-08-23 17:59:42 -04:00
container_path_resolution.go volumes: be more tolerant and fix infinite loop 2021-10-28 16:37:33 +02:00
container_stat_linux.go podman cp: evaluate symlink correctly when copying from container 2021-03-09 10:45:15 +01:00
container_top_linux.go Bump github.com/containers/psgo from 1.5.2 to 1.6.0 2021-09-10 15:23:43 +02:00
container_validate.go implement init containers in podman 2021-08-04 14:14:36 -05:00
diff.go Implement SD-NOTIFY proxy in conmon 2021-08-20 11:12:05 +02:00
events.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
healthcheck.go sync container state before reading the healthcheck 2021-09-22 17:40:16 +02:00
healthcheck_linux.go bump go module to v3 2021-02-22 09:03:51 +01:00
info.go Add network backend to podman info 2021-11-11 16:49:46 +01:00
kube.go podman-generate-kube - remove empty structs from YAML 2021-11-07 16:33:38 +02:00
mounts_linux.go
networking_linux.go Fix rootless networking with userns and ports 2021-11-09 15:58:57 +01:00
networking_linux_test.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
networking_slirp4netns.go network reload return error if we cannot reload ports 2021-11-10 21:16:30 +01:00
oci.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
oci_attach_linux.go libpod: fix race when closing STDIN 2021-10-06 17:51:07 +02:00
oci_conmon.go podman: add new cgroup mode split 2020-06-25 17:16:12 +02:00
oci_conmon_exec_linux.go libpod: fix race when closing STDIN 2021-10-06 17:51:07 +02:00
oci_conmon_linux.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
oci_missing.go Added optional container restore statistics 2021-11-15 11:50:25 +00:00
oci_util.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
options.go Add flag to overwrite network backend from config 2021-11-11 17:30:27 +01:00
pod.go codespell code 2021-10-12 16:44:25 -04:00
pod_api.go Add --time out for podman * rm -f commands 2021-10-04 07:07:56 -04:00
pod_internal.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
pod_status.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_top_linux.go bump go module to v3 2021-02-22 09:03:51 +01:00
reset.go Add --time out for podman * rm -f commands 2021-10-04 07:07:56 -04:00
runtime.go Add flag to overwrite network backend from config 2021-11-11 17:30:27 +01:00
runtime_cstorage.go Storage can remove ErrNotAContainer as well 2021-09-29 10:12:49 -04:00
runtime_ctr.go pod/container create: resolve conflicts of generated names 2021-11-08 13:33:30 +01:00
runtime_img.go Add --time out for podman * rm -f commands 2021-10-04 07:07:56 -04:00
runtime_migrate.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
runtime_pod.go Add --time out for podman * rm -f commands 2021-10-04 07:07:56 -04:00
runtime_pod_linux.go pod/container create: resolve conflicts of generated names 2021-11-08 13:33:30 +01:00
runtime_renumber.go bump go module to v3 2021-02-22 09:03:51 +01:00
runtime_volume.go Add --time out for podman * rm -f commands 2021-10-04 07:07:56 -04:00
runtime_volume_linux.go Remove a volume with --force if container is running 2021-10-11 15:02:04 -04:00
state.go Rewrite Rename backend in a more atomic fashion 2021-03-02 13:30:28 -05:00
state_test.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
stats.go stats: detect containers restart 2021-09-10 09:03:10 +02:00
storage.go Storage can remove ErrNotAContainer as well 2021-09-29 10:12:49 -04:00
util.go libpod: deduplicate ports in db 2021-10-27 18:59:56 +02:00
util_linux.go standardize logrus messages to upper case 2021-09-22 15:29:34 -04:00
util_linux_test.go Fix mismatch between log messages and behavior of libpod.LabelVolumePath. 2020-09-13 23:24:15 -04:00
util_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume.go volumes: Add support for exporting volumes to external tar 2021-08-23 20:42:41 +05:30
volume_inspect.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_internal.go Support size and inode options on builtin volumes 2021-08-02 10:32:45 -04:00
volume_internal_linux.go Support size and inode options on builtin volumes 2021-08-02 10:32:45 -04:00