Expose memory.max_usage_in_bytes in container stats
This commit is contained in:
parent
3e659ec0d1
commit
9ea61176bf
@ -509,6 +509,7 @@ func setDiskIoStats(s *cgroups.Stats, ret *info.ContainerStats) {
|
|||||||
|
|
||||||
func setMemoryStats(s *cgroups.Stats, ret *info.ContainerStats) {
|
func setMemoryStats(s *cgroups.Stats, ret *info.ContainerStats) {
|
||||||
ret.Memory.Usage = s.MemoryStats.Usage.Usage
|
ret.Memory.Usage = s.MemoryStats.Usage.Usage
|
||||||
|
ret.Memory.MaxUsage = s.MemoryStats.Usage.MaxUsage
|
||||||
ret.Memory.Failcnt = s.MemoryStats.Usage.Failcnt
|
ret.Memory.Failcnt = s.MemoryStats.Usage.Failcnt
|
||||||
ret.Memory.Cache = s.MemoryStats.Stats["cache"]
|
ret.Memory.Cache = s.MemoryStats.Stats["cache"]
|
||||||
|
|
||||||
|
@ -330,6 +330,10 @@ type MemoryStats struct {
|
|||||||
// Units: Bytes.
|
// Units: Bytes.
|
||||||
Usage uint64 `json:"usage"`
|
Usage uint64 `json:"usage"`
|
||||||
|
|
||||||
|
// Maximum memory usage recorded.
|
||||||
|
// Units: Bytes.
|
||||||
|
MaxUsage uint64 `json:"max_usage"`
|
||||||
|
|
||||||
// Number of bytes of page cache memory.
|
// Number of bytes of page cache memory.
|
||||||
// Units: Bytes.
|
// Units: Bytes.
|
||||||
Cache uint64 `json:"cache"`
|
Cache uint64 `json:"cache"`
|
||||||
|
@ -231,6 +231,14 @@ func NewPrometheusCollector(i infoProvider, f ContainerLabelsFunc) *PrometheusCo
|
|||||||
getValues: func(s *info.ContainerStats) metricValues {
|
getValues: func(s *info.ContainerStats) metricValues {
|
||||||
return metricValues{{value: float64(s.Memory.Usage)}}
|
return metricValues{{value: float64(s.Memory.Usage)}}
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "container_memory_max_usage_bytes",
|
||||||
|
help: "Maximum memory usage recorded in bytes",
|
||||||
|
valueType: prometheus.GaugeValue,
|
||||||
|
getValues: func(s *info.ContainerStats) metricValues {
|
||||||
|
return metricValues{{value: float64(s.Memory.MaxUsage)}}
|
||||||
|
},
|
||||||
}, {
|
}, {
|
||||||
name: "container_memory_working_set_bytes",
|
name: "container_memory_working_set_bytes",
|
||||||
help: "Current working set in bytes.",
|
help: "Current working set in bytes.",
|
||||||
|
@ -94,6 +94,7 @@ func (p testSubcontainersInfoProvider) SubcontainersInfo(string, *info.Container
|
|||||||
},
|
},
|
||||||
Memory: info.MemoryStats{
|
Memory: info.MemoryStats{
|
||||||
Usage: 8,
|
Usage: 8,
|
||||||
|
MaxUsage: 8,
|
||||||
WorkingSet: 9,
|
WorkingSet: 9,
|
||||||
ContainerData: info.MemoryStatsMemoryData{
|
ContainerData: info.MemoryStatsMemoryData{
|
||||||
Pgfault: 10,
|
Pgfault: 10,
|
||||||
|
3
metrics/testdata/prometheus_metrics
vendored
3
metrics/testdata/prometheus_metrics
vendored
@ -100,6 +100,9 @@ container_memory_failures_total{container_env_foo_env="prod",container_label_foo
|
|||||||
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="container",type="pgmajfault",zone_name="hello"} 11
|
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="container",type="pgmajfault",zone_name="hello"} 11
|
||||||
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgfault",zone_name="hello"} 12
|
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgfault",zone_name="hello"} 12
|
||||||
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgmajfault",zone_name="hello"} 13
|
container_memory_failures_total{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgmajfault",zone_name="hello"} 13
|
||||||
|
# HELP container_memory_max_usage_bytes Maximum memory usage recorded in bytes
|
||||||
|
# TYPE container_memory_max_usage_bytes gauge
|
||||||
|
container_memory_max_usage_bytes{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 8
|
||||||
# HELP container_memory_rss Size of RSS in bytes.
|
# HELP container_memory_rss Size of RSS in bytes.
|
||||||
# TYPE container_memory_rss gauge
|
# TYPE container_memory_rss gauge
|
||||||
container_memory_rss{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 15
|
container_memory_rss{container_env_foo_env="prod",container_label_foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 15
|
||||||
|
Loading…
Reference in New Issue
Block a user