mirror of
https://github.com/jesseduffield/lazydocker.git
synced 2026-07-23 07:31:03 +00:00
Add memory used and limit to stat
This commit is contained in:
parent
bedde4a037
commit
278cc6c03d
3 changed files with 27 additions and 7 deletions
|
|
@ -16,6 +16,8 @@ type RecordedStats struct {
|
|||
type DerivedStats struct {
|
||||
CPUPercentage float64
|
||||
MemoryPercentage float64
|
||||
MemoryUsed int
|
||||
MemoryLimit int64
|
||||
}
|
||||
|
||||
// ContainerStats autogenerated at https://mholt.github.io/json-to-go/
|
||||
|
|
|
|||
|
|
@ -169,6 +169,8 @@ func (c *DockerCommand) CreateClientStatMonitor(container *Container) {
|
|||
DerivedStats: DerivedStats{
|
||||
CPUPercentage: stats.CalculateContainerCPUPercentage(),
|
||||
MemoryPercentage: stats.CalculateContainerMemoryUsage(),
|
||||
MemoryUsed: stats.MemoryStats.Usage,
|
||||
MemoryLimit: stats.MemoryStats.Limit,
|
||||
},
|
||||
RecordedAt: time.Now(),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ func plotGraph(container *commands.Container, spec config.GraphConfig, width int
|
|||
container.StatsMutex.Lock()
|
||||
defer container.StatsMutex.Unlock()
|
||||
|
||||
data := make([]float64, len(container.StatHistory))
|
||||
dataLength := len(container.StatHistory)
|
||||
data := make([]float64, dataLength)
|
||||
|
||||
for i, stats := range container.StatHistory {
|
||||
value, err := lookup.LookupString(stats, spec.StatPath)
|
||||
|
|
@ -88,12 +89,27 @@ func plotGraph(container *commands.Container, spec config.GraphConfig, width int
|
|||
height = spec.Height
|
||||
}
|
||||
|
||||
caption := fmt.Sprintf(
|
||||
"%s: %0.2f (%v)",
|
||||
spec.Caption,
|
||||
data[len(data)-1],
|
||||
time.Since(container.StatHistory[0].RecordedAt).Round(time.Second),
|
||||
)
|
||||
memoryUsed := utils.FormatDecimalBytes(container.StatHistory[dataLength-1].DerivedStats.MemoryUsed)
|
||||
memoryLimit := utils.FormatDecimalBytes(int(container.StatHistory[dataLength-1].DerivedStats.MemoryLimit))
|
||||
var caption string
|
||||
switch spec.Caption {
|
||||
case "CPU (%)":
|
||||
caption = fmt.Sprintf(
|
||||
"%s: %0.2f (%v)",
|
||||
spec.Caption,
|
||||
data[dataLength-1],
|
||||
time.Since(container.StatHistory[0].RecordedAt).Round(time.Second),
|
||||
)
|
||||
case "Memory (%)":
|
||||
caption = fmt.Sprintf(
|
||||
"%s: %s / %s (%0.2f) (%v)",
|
||||
spec.Caption,
|
||||
memoryUsed,
|
||||
memoryLimit,
|
||||
data[dataLength-1],
|
||||
time.Since(container.StatHistory[0].RecordedAt).Round(time.Second),
|
||||
)
|
||||
}
|
||||
|
||||
return asciigraph.Plot(
|
||||
data,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue