From 51e3cd47617834165faf28c8b5a771811fbf8f28 Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Fri, 24 Jul 2020 21:06:29 +0900 Subject: [PATCH] statsV2: implement Failcnt Signed-off-by: Akihiro Suda --- daemon/daemon_unix.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/daemon/daemon_unix.go b/daemon/daemon_unix.go index 1657fcbfab..d13774fe1a 100644 --- a/daemon/daemon_unix.go +++ b/daemon/daemon_unix.go @@ -1566,12 +1566,16 @@ func (daemon *Daemon) statsV2(s *types.StatsJSON, stats *statsV2.Metrics) (*type Usage: stats.Memory.Usage, // MaxUsage is not supported Limit: stats.Memory.UsageLimit, - // TODO: Failcnt } // if the container does not set memory limit, use the machineMemory if s.MemoryStats.Limit > daemon.machineMemory && daemon.machineMemory > 0 { s.MemoryStats.Limit = daemon.machineMemory } + if stats.MemoryEvents != nil { + // Failcnt is set to the "oom" field of the "memory.events" file. + // See https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html + s.MemoryStats.Failcnt = stats.MemoryEvents.Oom + } } if stats.Pids != nil {