From c486a3a6dc960dd0e6f977865a43ae0117f1545d Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Tue, 8 Sep 2015 11:57:22 -0700 Subject: [PATCH] Don't read CPU usage if there is no subscribers for stats Signed-off-by: Alexander Morozov --- daemon/stats_collector_unix.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/daemon/stats_collector_unix.go b/daemon/stats_collector_unix.go index 5153872e7b..37d9b69bdf 100644 --- a/daemon/stats_collector_unix.go +++ b/daemon/stats_collector_unix.go @@ -89,12 +89,6 @@ func (s *statsCollector) run() { var pairs []publishersPair for range time.Tick(s.interval) { - systemUsage, err := s.getSystemCPUUsage() - if err != nil { - logrus.Errorf("collecting system cpu usage: %v", err) - continue - } - // it does not make sense in the first iteration, // but saves allocations in further iterations pairs = pairs[:0] @@ -105,6 +99,15 @@ func (s *statsCollector) run() { pairs = append(pairs, publishersPair{container, publisher}) } s.m.Unlock() + if len(pairs) == 0 { + continue + } + + systemUsage, err := s.getSystemCPUUsage() + if err != nil { + logrus.Errorf("collecting system cpu usage: %v", err) + continue + } for _, pair := range pairs { stats, err := pair.container.stats()