summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/domain/entities/pods.go19
-rw-r--r--pkg/domain/infra/abi/pods_stats.go26
2 files changed, 27 insertions, 18 deletions
diff --git a/pkg/domain/entities/pods.go b/pkg/domain/entities/pods.go
index edb0af15a..32900d536 100644
--- a/pkg/domain/entities/pods.go
+++ b/pkg/domain/entities/pods.go
@@ -212,15 +212,16 @@ type PodStatsOptions struct {
// PodStatsReport includes pod-resource statistics data.
type PodStatsReport struct {
- CPU string
- MemUsage string
- Mem string
- NetIO string
- BlockIO string
- PIDS string
- Pod string
- CID string
- Name string
+ CPU string
+ MemUsage string
+ MemUsageBytes string
+ Mem string
+ NetIO string
+ BlockIO string
+ PIDS string
+ Pod string
+ CID string
+ Name string
}
// ValidatePodStatsOptions validates the specified slice and options. Allows
diff --git a/pkg/domain/infra/abi/pods_stats.go b/pkg/domain/infra/abi/pods_stats.go
index 16c10710a..29bcbe087 100644
--- a/pkg/domain/infra/abi/pods_stats.go
+++ b/pkg/domain/infra/abi/pods_stats.go
@@ -44,15 +44,16 @@ func (ic *ContainerEngine) podsToStatsReport(pods []*libpod.Pod) ([]*entities.Po
podID := pods[i].ID()[:12]
for j := range podStats {
r := entities.PodStatsReport{
- CPU: floatToPercentString(podStats[j].CPU),
- MemUsage: combineHumanValues(podStats[j].MemUsage, podStats[j].MemLimit),
- Mem: floatToPercentString(podStats[j].MemPerc),
- NetIO: combineHumanValues(podStats[j].NetInput, podStats[j].NetOutput),
- BlockIO: combineHumanValues(podStats[j].BlockInput, podStats[j].BlockOutput),
- PIDS: pidsToString(podStats[j].PIDs),
- CID: podStats[j].ContainerID[:12],
- Name: podStats[j].Name,
- Pod: podID,
+ CPU: floatToPercentString(podStats[j].CPU),
+ MemUsage: combineHumanValues(podStats[j].MemUsage, podStats[j].MemLimit),
+ MemUsageBytes: combineBytesValues(podStats[j].MemUsage, podStats[j].MemLimit),
+ Mem: floatToPercentString(podStats[j].MemPerc),
+ NetIO: combineHumanValues(podStats[j].NetInput, podStats[j].NetOutput),
+ BlockIO: combineHumanValues(podStats[j].BlockInput, podStats[j].BlockOutput),
+ PIDS: pidsToString(podStats[j].PIDs),
+ CID: podStats[j].ContainerID[:12],
+ Name: podStats[j].Name,
+ Pod: podID,
}
reports = append(reports, &r)
}
@@ -68,6 +69,13 @@ func combineHumanValues(a, b uint64) string {
return fmt.Sprintf("%s / %s", units.HumanSize(float64(a)), units.HumanSize(float64(b)))
}
+func combineBytesValues(a, b uint64) string {
+ if a == 0 && b == 0 {
+ return "-- / --"
+ }
+ return fmt.Sprintf("%s / %s", units.BytesSize(float64(a)), units.BytesSize(float64(b)))
+}
+
func floatToPercentString(f float64) string {
strippedFloat, err := utils.RemoveScientificNotationFromFloat(f)
if err != nil || strippedFloat == 0 {