diff --git a/info/v1/test/datagen.go b/info/v1/test/datagen.go index 24431692..94f5e921 100644 --- a/info/v1/test/datagen.go +++ b/info/v1/test/datagen.go @@ -44,6 +44,8 @@ func GenerateRandomStats(numStats, numCores int, duration time.Duration) []*info stats.Cpu.Usage.User = stats.Cpu.Usage.Total stats.Cpu.Usage.System = 0 stats.Memory.Usage = uint64(rand.Int63n(4096)) + stats.Memory.Cache = uint64(rand.Int63n(4096)) + stats.Memory.RSS = uint64(rand.Int63n(4096)) ret[i] = stats } return ret diff --git a/metrics/prometheus.go b/metrics/prometheus.go index 89fb91f5..adce5101 100644 --- a/metrics/prometheus.go +++ b/metrics/prometheus.go @@ -136,7 +136,7 @@ func NewPrometheusCollector(infoProvider infoProvider, f ContainerNameToLabelsFu }, }, { name: "container_memory_rss", - help: "Size of RSS in bytes", + help: "Size of RSS in bytes.", valueType: prometheus.GaugeValue, getValues: func(s *info.ContainerStats) metricValues { return metricValues{{value: float64(s.Memory.RSS)}} diff --git a/metrics/prometheus_test.go b/metrics/prometheus_test.go index 5410c8d4..7d6dbd48 100644 --- a/metrics/prometheus_test.go +++ b/metrics/prometheus_test.go @@ -85,6 +85,8 @@ func (p testSubcontainersInfoProvider) SubcontainersInfo(string, *info.Container Pgfault: 12, Pgmajfault: 13, }, + Cache: 14, + RSS: 15, }, Network: info.NetworkStats{ InterfaceStats: info.InterfaceStats{ diff --git a/metrics/testdata/prometheus_metrics b/metrics/testdata/prometheus_metrics index 18390c20..40e4ca0d 100644 --- a/metrics/testdata/prometheus_metrics +++ b/metrics/testdata/prometheus_metrics @@ -68,6 +68,9 @@ container_fs_writes_total{device="sda2",foo_env="prod",foo_label="bar",id="testc # HELP container_last_seen Last time a container was seen by the exporter # TYPE container_last_seen gauge container_last_seen{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 1.426203694e+09 +# HELP container_memory_cache Number of bytes of page cache memory. +# TYPE container_memory_cache gauge +container_memory_cache{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 14 # HELP container_memory_failcnt Number of memory usage hits limits # TYPE container_memory_failcnt counter container_memory_failcnt{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 0 @@ -77,6 +80,9 @@ container_memory_failures_total{foo_env="prod",foo_label="bar",id="testcontainer container_memory_failures_total{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="container",type="pgmajfault",zone_name="hello"} 11 container_memory_failures_total{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgfault",zone_name="hello"} 12 container_memory_failures_total{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",scope="hierarchy",type="pgmajfault",zone_name="hello"} 13 +# HELP container_memory_rss Size of RSS in bytes. +# TYPE container_memory_rss gauge +container_memory_rss{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 15 # HELP container_memory_usage_bytes Current memory usage in bytes. # TYPE container_memory_usage_bytes gauge container_memory_usage_bytes{foo_env="prod",foo_label="bar",id="testcontainer",image="test",name="testcontaineralias",zone_name="hello"} 8