(fs afero.Fs)
| 131 | } |
| 132 | |
| 133 | func (*RootCmd) statCPU(fs afero.Fs) *serpent.Command { |
| 134 | var ( |
| 135 | hostArg bool |
| 136 | st *clistat.Statter |
| 137 | formatter = cliui.NewOutputFormatter(cliui.TextFormat(), cliui.JSONFormat()) |
| 138 | ) |
| 139 | cmd := &serpent.Command{ |
| 140 | Use: "cpu", |
| 141 | Short: "Show CPU usage, in cores.", |
| 142 | Middleware: initStatterMW(&st, fs), |
| 143 | Options: serpent.OptionSet{ |
| 144 | { |
| 145 | Flag: "host", |
| 146 | Value: serpent.BoolOf(&hostArg), |
| 147 | Description: "Force host CPU measurement.", |
| 148 | }, |
| 149 | }, |
| 150 | Handler: func(inv *serpent.Invocation) error { |
| 151 | var cs *clistat.Result |
| 152 | var err error |
| 153 | if ok, _ := st.IsContainerized(); ok && !hostArg { |
| 154 | cs, err = st.ContainerCPU() |
| 155 | } else { |
| 156 | cs, err = st.HostCPU() |
| 157 | } |
| 158 | if err != nil { |
| 159 | return err |
| 160 | } |
| 161 | out, err := formatter.Format(inv.Context(), cs) |
| 162 | if err != nil { |
| 163 | return err |
| 164 | } |
| 165 | _, err = fmt.Fprintln(inv.Stdout, out) |
| 166 | return err |
| 167 | }, |
| 168 | } |
| 169 | formatter.AttachOptions(&cmd.Options) |
| 170 | |
| 171 | return cmd |
| 172 | } |
| 173 | |
| 174 | func (*RootCmd) statMem(fs afero.Fs) *serpent.Command { |
| 175 | var ( |
no test coverage detected