update MemoryStats type

This commit is contained in:
Henry Dollman
2024-09-29 12:36:19 -04:00
parent dd84a9fd35
commit 268e364bd4
2 changed files with 9 additions and 6 deletions

View File

@@ -117,9 +117,9 @@ func (a *Agent) getContainerStats(ctr container.ApiInfo) (*container.Stats, erro
} }
// memory (https://docs.docker.com/reference/cli/docker/container/stats/) // memory (https://docs.docker.com/reference/cli/docker/container/stats/)
memCache := res.MemoryStats.Stats["inactive_file"] memCache := res.MemoryStats.Stats.InactiveFile
if memCache == 0 { if memCache == 0 {
memCache = res.MemoryStats.Stats["cache"] memCache = res.MemoryStats.Stats.Cache
} }
usedMemory := res.MemoryStats.Usage - memCache usedMemory := res.MemoryStats.Usage - memCache

View File

@@ -85,15 +85,13 @@ type CPUUsage struct {
} }
type MemoryStats struct { type MemoryStats struct {
// current res_counter usage for memory // current res_counter usage for memory
Usage uint64 `json:"usage,omitempty"` Usage uint64 `json:"usage,omitempty"`
Cache uint64 `json:"cache,omitempty"` // all the stats exported via memory.stat.
Stats MemoryStatsStats `json:"stats,omitempty"`
// maximum usage ever recorded. // maximum usage ever recorded.
// MaxUsage uint64 `json:"max_usage,omitempty"` // MaxUsage uint64 `json:"max_usage,omitempty"`
// TODO(vishh): Export these as stronger types. // TODO(vishh): Export these as stronger types.
// all the stats exported via memory.stat.
Stats map[string]uint64 `json:"stats,omitempty"`
// number of times memory usage hits limits. // number of times memory usage hits limits.
// Failcnt uint64 `json:"failcnt,omitempty"` // Failcnt uint64 `json:"failcnt,omitempty"`
// Limit uint64 `json:"limit,omitempty"` // Limit uint64 `json:"limit,omitempty"`
@@ -106,6 +104,11 @@ type MemoryStats struct {
// PrivateWorkingSet uint64 `json:"privateworkingset,omitempty"` // PrivateWorkingSet uint64 `json:"privateworkingset,omitempty"`
} }
type MemoryStatsStats struct {
Cache uint64 `json:"cache,omitempty"`
InactiveFile uint64 `json:"inactive_file,omitempty"`
}
type NetworkStats struct { type NetworkStats struct {
// Bytes received. Windows and Linux. // Bytes received. Windows and Linux.
RxBytes uint64 `json:"rx_bytes"` RxBytes uint64 `json:"rx_bytes"`