summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/containers/stats.go37
-rw-r--r--cmd/podman/pods/ps.go13
-rw-r--r--docs/source/markdown/podman-pod-ps.1.md5
-rw-r--r--docs/source/markdown/podman-stats.1.md5
4 files changed, 35 insertions, 25 deletions
diff --git a/cmd/podman/containers/stats.go b/cmd/podman/containers/stats.go
index bbd389bbf..c30ea52ec 100644
--- a/cmd/podman/containers/stats.go
+++ b/cmd/podman/containers/stats.go
@@ -3,12 +3,13 @@ package containers
import (
"fmt"
"os"
- "strings"
"text/tabwriter"
"text/template"
tm "github.com/buger/goterm"
+ "github.com/containers/podman/v2/cmd/podman/parse"
"github.com/containers/podman/v2/cmd/podman/registry"
+ "github.com/containers/podman/v2/cmd/podman/report"
"github.com/containers/podman/v2/cmd/podman/validate"
"github.com/containers/podman/v2/libpod/define"
"github.com/containers/podman/v2/pkg/cgroups"
@@ -58,9 +59,8 @@ type statsOptionsCLI struct {
}
var (
- statsOptions statsOptionsCLI
- defaultStatsRow = "{{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDS}}\n"
- defaultStatsHeader = "ID\tNAME\tCPU %\tMEM USAGE / LIMIT\tMEM %\tNET IO\tBLOCK IO\tPIDS\n"
+ statsOptions statsOptionsCLI
+ defaultStatsRow = "{{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDS}}\n"
)
func statFlags(flags *pflag.FlagSet) {
@@ -139,7 +139,16 @@ func stats(cmd *cobra.Command, args []string) error {
}
func outputStats(reports []define.ContainerStats) error {
- if len(statsOptions.Format) < 1 && !statsOptions.NoReset {
+ headers := report.Headers(define.ContainerStats{}, map[string]string{
+ "ID": "ID",
+ "CPUPerc": "CPU %",
+ "MemUsage": "MEM USAGE / LIMIT",
+ "MemPerc": "MEM %",
+ "NetIO": "NET IO",
+ "BlockIO": "BLOCK IO",
+ "PIDS": "PIDS",
+ })
+ if !statsOptions.NoReset {
tm.Clear()
tm.MoveCursor(1, 1)
tm.Flush()
@@ -148,25 +157,27 @@ func outputStats(reports []define.ContainerStats) error {
for _, r := range reports {
stats = append(stats, containerStats{r})
}
- if statsOptions.Format == "json" {
+ if parse.MatchesJSONFormat(statsOptions.Format) {
return outputJSON(stats)
}
format := defaultStatsRow
+
if len(statsOptions.Format) > 0 {
- format = statsOptions.Format
- if !strings.HasSuffix(format, "\n") {
- format += "\n"
- }
+ format = report.NormalizeFormat(statsOptions.Format)
+ } else if len(statsOptions.Format) < 1 {
+ format = defaultStatsRow
}
format = "{{range . }}" + format + "{{end}}"
- if len(statsOptions.Format) < 1 {
- format = defaultStatsHeader + format
- }
tmpl, err := template.New("stats").Parse(format)
if err != nil {
return err
}
w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
+ if len(statsOptions.Format) < 1 {
+ if err := tmpl.Execute(w, headers); err != nil {
+ return err
+ }
+ }
if err := tmpl.Execute(w, stats); err != nil {
return err
}
diff --git a/cmd/podman/pods/ps.go b/cmd/podman/pods/ps.go
index b7952e6e3..0013cca02 100644
--- a/cmd/podman/pods/ps.go
+++ b/cmd/podman/pods/ps.go
@@ -106,12 +106,13 @@ func pods(cmd *cobra.Command, _ []string) error {
}
headers := report.Headers(ListPodReporter{}, map[string]string{
- "ContainerIds": "IDS",
- "ContainerNames": "NAMES",
- "ContainerStatuses": "STATUS",
- "Namespace": "NAMESPACES",
+ "Id": "POD ID",
+ "Name": "NAME",
+ "Status": "STATUS",
+ "Labels": "LABELS",
"NumberOfContainers": "# OF CONTAINERS",
- "InfraId": "INFRA ID",
+ "Created": "CREATED",
+ "InfraID": "INFRA ID",
})
row := podPsFormat()
if cmd.Flags().Changed("format") {
@@ -135,7 +136,7 @@ func pods(cmd *cobra.Command, _ []string) error {
}
func podPsFormat() string {
- row := []string{"{{.Id}}", "{{.Name}}", "{{.Status}}", "{{.Created}}}"}
+ row := []string{"{{.Id}}", "{{.Name}}", "{{.Status}}", "{{.Created}}", "{{.InfraID}}"}
if psInput.CtrIds {
row = append(row, "{{.ContainerIds}}")
diff --git a/docs/source/markdown/podman-pod-ps.1.md b/docs/source/markdown/podman-pod-ps.1.md
index 035c20c7f..3df4403b7 100644
--- a/docs/source/markdown/podman-pod-ps.1.md
+++ b/docs/source/markdown/podman-pod-ps.1.md
@@ -68,11 +68,10 @@ Valid placeholders for the Go template are listed below:
| .Name | Name of pod |
| .Status | Status of pod |
| .Labels | All the labels assigned to the pod |
-| .ContainerInfo | Show the names, ids and/or statuses of containers (only shows 9 unless no-trunc is specified) |
| .NumberOfContainers | Show the number of containers attached to pod |
| .Cgroup | Cgroup path of pod |
-| .UsePodCgroup | Whether containers use the Cgroup of the pod |
-
+| .Created | Creation time of pod |
+| .InfraID | Pod infra container ID |
**--sort**
Sort by created, ID, name, status, or number of containers
diff --git a/docs/source/markdown/podman-stats.1.md b/docs/source/markdown/podman-stats.1.md
index 741873c3f..042da26d1 100644
--- a/docs/source/markdown/podman-stats.1.md
+++ b/docs/source/markdown/podman-stats.1.md
@@ -47,12 +47,11 @@ Valid placeholders for the Go template are listed below:
| **Placeholder** | **Description** |
| --------------- | --------------- |
-| .Pod | Pod ID |
| .ID | Container ID |
| .Name | Container Name |
-| .CPU | CPU percentage |
+| .CPUPerc | CPU percentage |
| .MemUsage | Memory usage |
-| .Mem | Memory percentage |
+| .MemPerc | Memory percentage |
| .NetIO | Network IO |
| .BlockIO | Block IO |
| .PIDS | Number of PIDs |