| package daemon // import "github.com/docker/docker/daemon" | |
| import ( | |
| "runtime" | |
| "time" | |
| "github.com/docker/docker/daemon/stats" | |
| "github.com/docker/docker/pkg/meminfo" | |
| ) | |
| // newStatsCollector returns a new statsCollector that collections | |
| // stats for a registered container at the specified interval. | |
| // The collector allows non-running containers to be added | |
| // and will start processing stats when they are started. | |
| func (daemon *Daemon) newStatsCollector(interval time.Duration) *stats.Collector { | |
| // FIXME(vdemeester) move this elsewhere | |
| if runtime.GOOS == "linux" { | |
| meminfo, err := meminfo.Read() | |
| if err == nil && meminfo.MemTotal > 0 { | |
| daemon.machineMemory = uint64(meminfo.MemTotal) | |
| } | |
| } | |
| s := stats.NewCollector(daemon, interval) | |
| go s.Run() | |
| return s | |
| } |