|
@@ -1,13 +1,10 @@
|
|
|
package client
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
"fmt"
|
|
|
- "net/url"
|
|
|
"strings"
|
|
|
"text/tabwriter"
|
|
|
|
|
|
- "github.com/docker/docker/api/types"
|
|
|
Cli "github.com/docker/docker/cli"
|
|
|
flag "github.com/docker/docker/pkg/mflag"
|
|
|
)
|
|
@@ -21,23 +18,16 @@ func (cli *DockerCli) CmdTop(args ...string) error {
|
|
|
|
|
|
cmd.ParseFlags(args, true)
|
|
|
|
|
|
- val := url.Values{}
|
|
|
+ var arguments []string
|
|
|
if cmd.NArg() > 1 {
|
|
|
- val.Set("ps_args", strings.Join(cmd.Args()[1:], " "))
|
|
|
+ arguments = cmd.Args()[1:]
|
|
|
}
|
|
|
|
|
|
- serverResp, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/top?"+val.Encode(), nil, nil)
|
|
|
+ procList, err := cli.client.ContainerTop(cmd.Arg(0), arguments)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- defer serverResp.body.Close()
|
|
|
-
|
|
|
- procList := types.ContainerProcessList{}
|
|
|
- if err := json.NewDecoder(serverResp.body).Decode(&procList); err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
|
|
|
fmt.Fprintln(w, strings.Join(procList.Titles, "\t"))
|
|
|
|