From 6c6808e5bfee53be71a1c3c641a4640cf4d03d36 Mon Sep 17 00:00:00 2001 From: Donald Huang Date: Fri, 14 Nov 2014 23:51:29 +0000 Subject: [PATCH] Change arguments to fs.GetStats to be map[string]string Allows us to remove systemd.GetPaths later Signed-off-by: Donald Huang --- api_temp.go | 2 +- cgroups/cgutil/cgutil.go | 28 ---------------------------- cgroups/fs/apply_raw.go | 22 +++++----------------- 3 files changed, 6 insertions(+), 46 deletions(-) diff --git a/api_temp.go b/api_temp.go index 9b2c5207..fbd526ff 100644 --- a/api_temp.go +++ b/api_temp.go @@ -21,7 +21,7 @@ func GetStats(container *Config, state *State) (*ContainerStats, error) { if systemd.UseSystemd() { stats.CgroupStats, err = systemd.GetStats(container.Cgroups) } else { - stats.CgroupStats, err = fs.GetStats(container.Cgroups) + stats.CgroupStats, err = fs.GetStats(state.CgroupPaths) } if err != nil { diff --git a/cgroups/cgutil/cgutil.go b/cgroups/cgutil/cgutil.go index d1a66117..3b9a9a66 100644 --- a/cgroups/cgutil/cgutil.go +++ b/cgroups/cgutil/cgutil.go @@ -34,16 +34,6 @@ var destroyCommand = cli.Command{ Action: destroyAction, } -var statsCommand = cli.Command{ - Name: "stats", - Usage: "Get stats for cgroup", - Flags: []cli.Flag{ - cli.StringFlag{Name: "name, n", Value: "", Usage: "container name"}, - cli.StringFlag{Name: "parent, p", Value: "", Usage: "container parent"}, - }, - Action: statsAction, -} - var pauseCommand = cli.Command{ Name: "pause", Usage: "Pause cgroup", @@ -196,23 +186,6 @@ func destroyAction(context *cli.Context) { } } -func statsAction(context *cli.Context) { - config, err := getConfig(context) - if err != nil { - log.Fatal(err) - } - stats, err := fs.GetStats(config) - if err != nil { - log.Fatal(err) - } - - out, err := json.MarshalIndent(stats, "", "\t") - if err != nil { - log.Fatal(err) - } - fmt.Printf("Usage stats for '%s':\n %v\n", config.Name, string(out)) -} - func pauseAction(context *cli.Context) { setFreezerState(context, cgroups.Frozen) } @@ -252,7 +225,6 @@ func main() { app.Commands = []cli.Command{ createCommand, destroyCommand, - statsCommand, pauseCommand, resumeCommand, psCommand, diff --git a/cgroups/fs/apply_raw.go b/cgroups/fs/apply_raw.go index 599ab572..c6860ca6 100644 --- a/cgroups/fs/apply_raw.go +++ b/cgroups/fs/apply_raw.go @@ -94,25 +94,13 @@ func Cleanup(c *cgroups.Cgroup) error { return d.Cleanup() } -func GetStats(c *cgroups.Cgroup) (*cgroups.Stats, error) { +func GetStats(systemPaths map[string]string) (*cgroups.Stats, error) { stats := cgroups.NewStats() - - d, err := getCgroupData(c, 0) - if err != nil { - return nil, fmt.Errorf("getting CgroupData %s", err) - } - - for sysname, sys := range subsystems { - path, err := d.path(sysname) - if err != nil { - // Don't fail if a cgroup hierarchy was not found, just skip this subsystem - if cgroups.IsNotFound(err) { - continue - } - - return nil, err + for name, path := range systemPaths { + sys, ok := subsystems[name] + if !ok { + continue } - if err := sys.GetStats(path, stats); err != nil { return nil, err }