1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

change to top

This commit is contained in:
Victor Vieux 2013-07-01 15:19:42 +00:00
parent 648c4f198b
commit 11e28842ac
9 changed files with 23 additions and 23 deletions

6
api.go
View file

@ -250,12 +250,12 @@ func getContainersChanges(srv *Server, version float64, w http.ResponseWriter, r
return nil return nil
} }
func getContainersProc(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error { func getContainersTop(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if vars == nil { if vars == nil {
return fmt.Errorf("Missing parameter") return fmt.Errorf("Missing parameter")
} }
name := vars["name"] name := vars["name"]
procsStr, err := srv.ContainerProc(name) procsStr, err := srv.ContainerTop(name)
if err != nil { if err != nil {
return err return err
} }
@ -859,7 +859,7 @@ func createRouter(srv *Server, logging bool) (*mux.Router, error) {
"/containers/{name:.*}/export": getContainersExport, "/containers/{name:.*}/export": getContainersExport,
"/containers/{name:.*}/changes": getContainersChanges, "/containers/{name:.*}/changes": getContainersChanges,
"/containers/{name:.*}/json": getContainersByName, "/containers/{name:.*}/json": getContainersByName,
"/containers/{name:.*}/proc": getContainersProc, "/containers/{name:.*}/top": getContainersTop,
}, },
"POST": { "POST": {
"/auth": postAuth, "/auth": postAuth,

View file

@ -26,7 +26,7 @@ type APIInfo struct {
SwapLimit bool `json:",omitempty"` SwapLimit bool `json:",omitempty"`
} }
type APIProc struct { type APITop struct {
PID string PID string
Tty string Tty string
Time string Time string

View file

@ -475,7 +475,7 @@ func TestGetContainersChanges(t *testing.T) {
} }
} }
func TestGetContainersProc(t *testing.T) { func TestGetContainersTop(t *testing.T) {
runtime, err := newTestRuntime() runtime, err := newTestRuntime()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -509,10 +509,10 @@ func TestGetContainersProc(t *testing.T) {
} }
r := httptest.NewRecorder() r := httptest.NewRecorder()
if err := getContainersProc(srv, APIVERSION, r, nil, map[string]string{"name": container.ID}); err != nil { if err := getContainersTop(srv, APIVERSION, r, nil, map[string]string{"name": container.ID}); err != nil {
t.Fatal(err) t.Fatal(err)
} }
procs := []APIProc{} procs := []APITop{}
if err := json.Unmarshal(r.Body.Bytes(), &procs); err != nil { if err := json.Unmarshal(r.Body.Bytes(), &procs); err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -90,7 +90,7 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
{"login", "Register or Login to the docker registry server"}, {"login", "Register or Login to the docker registry server"},
{"logs", "Fetch the logs of a container"}, {"logs", "Fetch the logs of a container"},
{"port", "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"}, {"port", "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"},
{"proc", "Lookup the running processes of a container"}, {"top", "Lookup the running processes of a container"},
{"ps", "List containers"}, {"ps", "List containers"},
{"pull", "Pull an image or a repository from the docker registry server"}, {"pull", "Pull an image or a repository from the docker registry server"},
{"push", "Push an image or a repository to the docker registry server"}, {"push", "Push an image or a repository to the docker registry server"},
@ -556,8 +556,8 @@ func (cli *DockerCli) CmdInspect(args ...string) error {
return nil return nil
} }
func (cli *DockerCli) CmdProc(args ...string) error { func (cli *DockerCli) CmdTop(args ...string) error {
cmd := Subcmd("proc", "CONTAINER", "Lookup the running processes of a container") cmd := Subcmd("top", "CONTAINER", "Lookup the running processes of a container")
if err := cmd.Parse(args); err != nil { if err := cmd.Parse(args); err != nil {
return nil return nil
} }
@ -565,11 +565,11 @@ func (cli *DockerCli) CmdProc(args ...string) error {
cmd.Usage() cmd.Usage()
return nil return nil
} }
body, _, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/proc", nil) body, _, err := cli.call("GET", "/containers/"+cmd.Arg(0)+"/top", nil)
if err != nil { if err != nil {
return err return err
} }
var procs []APIProc var procs []APITop
err = json.Unmarshal(body, &procs) err = json.Unmarshal(body, &procs)
if err != nil { if err != nil {
return err return err

View file

@ -29,7 +29,7 @@ You can still call an old version of the api using /v1.0/images/<name>/insert
What's new What's new
---------- ----------
Listing processes (/proc): Listing processes (/top):
- List the processes inside a container - List the processes inside a container

View file

@ -223,7 +223,7 @@ Inspect a container
List processes running inside a container List processes running inside a container
***************************************** *****************************************
.. http:get:: /containers/(id)/proc .. http:get:: /containers/(id)/top
List processes running inside the container ``id`` List processes running inside the container ``id``
@ -231,7 +231,7 @@ List processes running inside a container
.. sourcecode:: http .. sourcecode:: http
GET /containers/4fa6e0f0c678/proc HTTP/1.1 GET /containers/4fa6e0f0c678/top HTTP/1.1
**Example response**: **Example response**:

View file

@ -41,7 +41,6 @@ Available Commands
command/login command/login
command/logs command/logs
command/port command/port
command/proc
command/ps command/ps
command/pull command/pull
command/push command/push
@ -53,5 +52,6 @@ Available Commands
command/start command/start
command/stop command/stop
command/tag command/tag
command/top
command/version command/version
command/wait command/wait

View file

@ -1,13 +1,13 @@
:title: Proc Command :title: Top Command
:description: Lookup the running processes of a container :description: Lookup the running processes of a container
:keywords: proc, docker, container, documentation :keywords: top, docker, container, documentation
======================================================= =======================================================
``proc`` -- Lookup the running processes of a container ``top`` -- Lookup the running processes of a container
======================================================= =======================================================
:: ::
Usage: docker proc CONTAINER Usage: docker top CONTAINER
Lookup the running processes of a container Lookup the running processes of a container

View file

@ -249,18 +249,18 @@ func (srv *Server) ImageHistory(name string) ([]APIHistory, error) {
} }
func (srv *Server) ContainerProc(name string) ([]APIProc, error) { func (srv *Server) ContainerTop(name string) ([]APITop, error) {
if container := srv.runtime.Get(name); container != nil { if container := srv.runtime.Get(name); container != nil {
output, err := exec.Command("lxc-ps", "--name", container.ID).CombinedOutput() output, err := exec.Command("lxc-ps", "--name", container.ID).CombinedOutput()
if err != nil { if err != nil {
return nil, fmt.Errorf("Error trying to use lxc-ps: %s (%s)", err, output) return nil, fmt.Errorf("Error trying to use lxc-ps: %s (%s)", err, output)
} }
var procs []APIProc var procs []APITop
for i, line := range strings.Split(string(output), "\n") { for i, line := range strings.Split(string(output), "\n") {
if i == 0 || len(line) == 0 { if i == 0 || len(line) == 0 {
continue continue
} }
proc := APIProc{} proc := APITop{}
scanner := bufio.NewScanner(strings.NewReader(line)) scanner := bufio.NewScanner(strings.NewReader(line))
scanner.Split(bufio.ScanWords) scanner.Split(bufio.ScanWords)
if !scanner.Scan() { if !scanner.Scan() {