mirror of
https://github.com/containers/podman.git
synced 2025-10-18 11:42:55 +08:00
Merge pull request #4275 from vrothberg/fix-4274
stats: list all running containers unless specified otherwise
This commit is contained in:
@ -35,7 +35,7 @@ var (
|
||||
|
||||
statsDescription = "Display percentage of CPU, memory, network I/O, block I/O and PIDs for one or more containers."
|
||||
_statsCommand = &cobra.Command{
|
||||
Use: "stats [flags] CONTAINER [CONTAINER...]",
|
||||
Use: "stats [flags] [CONTAINER...]",
|
||||
Short: "Display a live stream of container resource usage statistics",
|
||||
Long: statsDescription,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
@ -44,9 +44,6 @@ var (
|
||||
statsCommand.Remote = remoteclient
|
||||
return statsCmd(&statsCommand)
|
||||
},
|
||||
Args: func(cmd *cobra.Command, args []string) error {
|
||||
return checkAllAndLatest(cmd, args, false)
|
||||
},
|
||||
Example: `podman stats --all --no-stream
|
||||
podman stats ctrID
|
||||
podman stats --no-stream --format "table {{.ID}} {{.Name}} {{.MemUsage}}" ctrID`,
|
||||
@ -92,8 +89,6 @@ func statsCmd(c *cliconfig.StatsValues) error {
|
||||
|
||||
if ctr > 1 {
|
||||
return errors.Errorf("--all, --latest and containers cannot be used together")
|
||||
} else if ctr == 0 {
|
||||
return errors.Errorf("you must specify --all, --latest, or at least one container")
|
||||
}
|
||||
|
||||
runtime, err := libpodruntime.GetRuntime(getContext(), &c.PodmanCommand)
|
||||
|
@ -11,6 +11,8 @@ import (
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
// TODO: we need to check the output. Currently, we only check the exit codes
|
||||
// which is not enough.
|
||||
var _ = Describe("Podman stats", func() {
|
||||
var (
|
||||
tempdir string
|
||||
@ -61,6 +63,15 @@ var _ = Describe("Podman stats", func() {
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats on all running containers", func() {
|
||||
session := podmanTest.RunTopContainer("")
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
session = podmanTest.Podman([]string{"stats", "--no-stream"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman stats only output cids", func() {
|
||||
session := podmanTest.RunTopContainer("")
|
||||
session.WaitWithDefaultTimeout()
|
||||
|
@ -55,9 +55,11 @@ function check_help() {
|
||||
|
||||
# If usage has required arguments, try running without them
|
||||
if expr "$usage" : '.*\[flags\] [A-Z]' >/dev/null; then
|
||||
dprint "podman $@ $cmd (without required args)"
|
||||
run_podman 125 "$@" $cmd
|
||||
is "$output" "Error:"
|
||||
if [ "$cmd" != "stats"]; then
|
||||
dprint "podman $@ $cmd (without required args)"
|
||||
run_podman 125 "$@" $cmd
|
||||
is "$output" "Error:"
|
||||
fi
|
||||
fi
|
||||
|
||||
count=$(expr $count + 1)
|
||||
|
Reference in New Issue
Block a user