using standard unix postfixes add unit test for display
also change doc for memory usage display change
for example GiB will be GB
Signed-off-by: Sun Jianbo <wonderflow@zju.edu.cn>
| ... | ... |
@@ -99,9 +99,9 @@ func (s *containerStats) Display(w io.Writer) error {
|
| 99 | 99 |
fmt.Fprintf(w, "%s\t%.2f%%\t%s/%s\t%.2f%%\t%s/%s\n", |
| 100 | 100 |
s.Name, |
| 101 | 101 |
s.CPUPercentage, |
| 102 |
- units.BytesSize(s.Memory), units.BytesSize(s.MemoryLimit), |
|
| 102 |
+ units.HumanSize(s.Memory), units.HumanSize(s.MemoryLimit), |
|
| 103 | 103 |
s.MemoryPercentage, |
| 104 |
- units.BytesSize(s.NetworkRx), units.BytesSize(s.NetworkTx)) |
|
| 104 |
+ units.HumanSize(s.NetworkRx), units.HumanSize(s.NetworkTx)) |
|
| 105 | 105 |
return nil |
| 106 | 106 |
} |
| 107 | 107 |
|
| 108 | 108 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,29 @@ |
| 0 |
+package client |
|
| 1 |
+ |
|
| 2 |
+import ( |
|
| 3 |
+ "bytes" |
|
| 4 |
+ "sync" |
|
| 5 |
+ "testing" |
|
| 6 |
+) |
|
| 7 |
+ |
|
| 8 |
+func TestDisplay(t *testing.T) {
|
|
| 9 |
+ c := &containerStats{
|
|
| 10 |
+ Name: "app", |
|
| 11 |
+ CPUPercentage: 30.0, |
|
| 12 |
+ Memory: 100 * 1024 * 1024.0, |
|
| 13 |
+ MemoryLimit: 2048 * 1024 * 1024.0, |
|
| 14 |
+ MemoryPercentage: 100.0 / 2048.0 * 100.0, |
|
| 15 |
+ NetworkRx: 100 * 1024 * 1024, |
|
| 16 |
+ NetworkTx: 800 * 1024 * 1024, |
|
| 17 |
+ mu: sync.RWMutex{},
|
|
| 18 |
+ } |
|
| 19 |
+ var b bytes.Buffer |
|
| 20 |
+ if err := c.Display(&b); err != nil {
|
|
| 21 |
+ t.Fatalf("c.Display() gave error: %s", err)
|
|
| 22 |
+ } |
|
| 23 |
+ got := b.String() |
|
| 24 |
+ want := "app\t30.00%\t104.9 MB/2.147 GB\t4.88%\t104.9 MB/838.9 MB\n" |
|
| 25 |
+ if got != want {
|
|
| 26 |
+ t.Fatalf("c.Display() = %q, want %q", got, want)
|
|
| 27 |
+ } |
|
| 28 |
+} |
| ... | ... |
@@ -24,5 +24,5 @@ Run **docker stats** with multiple containers. |
| 24 | 24 |
$ docker stats redis1 redis2 |
| 25 | 25 |
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O |
| 26 | 26 |
redis1 0.07% 796 KiB/64 MiB 1.21% 788 B/648 B |
| 27 |
- redis2 0.07% 2.746 MiB/64 MiB 4.29% 1.266 KiB/648 B |
|
| 27 |
+ redis2 0.07% 2.746 MB/64 MB 4.29% 1.266 KB/648 B |
|
| 28 | 28 |
|
| ... | ... |
@@ -2336,7 +2336,7 @@ Running `docker stats` on multiple containers |
| 2336 | 2336 |
$ docker stats redis1 redis2 |
| 2337 | 2337 |
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O |
| 2338 | 2338 |
redis1 0.07% 796 KiB/64 MiB 1.21% 788 B/648 B |
| 2339 |
- redis2 0.07% 2.746 MiB/64 MiB 4.29% 1.266 KiB/648 B |
|
| 2339 |
+ redis2 0.07% 2.746 MB/64 MB 4.29% 1.266 KB/648 B |
|
| 2340 | 2340 |
|
| 2341 | 2341 |
|
| 2342 | 2342 |
The `docker stats` command will only return a live stream of data for running |